David's Astronomy Pages
|
Notes (S1170) |
Notes Main |
Home Page |
Notes (S1172) |
Main aims
Equipment & Software
Highlights
Summary Plots & Logs
Observing Plan |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Observing Result |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dome & Scope Slewing Performance | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Slew/Centering Performance | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Guiding Performance | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sky Conditions (Locate Frames) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Night Sky Summary Plot Top axis: Sky Brightness at Zenith (in ADU/s) Lefthand axis: Local Time (hh LT). Righthand axis: Sun Altitude (degs) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Actual Weather vs Pre-Session Weather Forecast | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Session Event Log | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Session Alerts & Alarms | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Back to Top
datablock = GetJsonBlock(S.Substring(iStart
- 1), "{", iEnd)
{"1h":0.21}} ...
This explains how
""1h":0.21" is sent to ParseHourlyRecord during the next iteration (14)
through the parsing loop in ParseHourlyBlock (). Fixed in AstroWeather
1.23.6 by changing S = S.Substring(iEnd + 1) to S =
S.Substring(iStart + iEnd + 1) to resolve this issue. However it
requires the addition of preceeding check 'iStart + iEnd + 1 >= Len(S) to
ensure than we haven't reached the end of the HourlyBlock . Az: 89.0°, -3mA
Az: 89.5°, 4mA
Az: 90.0°,
15mA
Az: 90.5°, 1mA
Az: 91.0°, -2mA
Fig 1. Shutter Battery
Graphs
Showing anomously slow battery recharging following
Session S1171 and earlier Dome Conformance Tests.
After adjustment of
Induction Charger separation and position the battery recharging was
fast/normal.
Back to Top
Update 2023-12-03
Back to Top
Conform Report Hash (V1):
E4EFE4A9BFB264DBE12C6B51B103CC9837DEA5D105DC8ACF504460C848A82BEFF6F583F6E20664FBF43A60F2C0112D784DD3FC8C5F57D20645CDBD0175C000B5
ConformanceCheck ASCOM Device Conformance Checker Version
6.6.8048.17861, Build time: 2022-01-13 09:55:26
ConformanceCheck Running on:
ASCOM Platform 6.6 SP1 6.6.1.3673
ConformanceCheck Driver ProgID:
ASCOM.Pulsar_Observatories_Dome.Dome
Error handling
Error number for
"Not Implemented" is: 80040400
Error number for "Invalid Value 1" is:
80040405
Error number for "Value Not Set 1" is: 80040402
Error number for
"Value Not Set 2" is: 80040403
Error messages will be interpreted to infer
state.
13:48:57.835 Driver Access Checks OK
13:48:57.844 AccessChecks
About to create instance using Activator.CreateInstance
13:48:58.615
AccessChecks OK Successfully created driver using late binding
13:48:58.622
AccessChecks About to set Connected property true
13:48:58.789 AccessChecks
About to set Connected property false
13:48:58.910 AccessChecks OK
Successfully connected using late binding
13:48:58.919 AccessChecks INFO The
driver is a .NET object
13:48:58.924 AccessChecks INFO The
AssemblyQualifiedName is: ASCOM.Pulsar_Observatories_Dome.Dome,
ASCOM.Pulsar_Observatories_Dome.Dome,
13:48:58.933 AccessChecks INFO The
driver implements interface: ASCOM.DeviceInterface.IDomeV2
13:48:58.942
DisposeAndReleaseObject About to release AccessChecks driver instance
13:48:58.959 DisposeAndReleaseObject About to set Connected property
13:48:59.706 AccessChecks INFO Device does not expose interface IDome
13:48:59.753 AccessChecks About to set Connected property
13:49:00.081
AccessChecks INFO Device exposes interface IDomeV2
13:49:00.091 AccessChecks
About to set Connected property
13:49:01.505 AccessChecks OK Successfully
created driver using driver access toolkit
13:49:01.514 AccessChecks About to
set Connected property
13:49:01.847 AccessChecks OK Successfully connected
using driver access toolkit
13:49:01.853 AccessChecks About to set Connected
property
Conform is using ASCOM.DriverAccess.Dome to get a Dome object
13:49:03.283 ConformanceCheck OK Driver instance created successfully
13:49:03.366 ConformanceCheck About to set Connected property
13:49:03.375
Connected About to set Connected property
13:49:03.696 ConformanceCheck OK
Connected OK
Common Driver Methods
13:49:03.772 InterfaceVersion
About to get property InterfaceVersion
13:49:03.782 InterfaceVersion OK 2
13:49:03.827 Connected About to get property Connected
13:49:03.834 Connected
OK True
13:49:03.894 Description About to get property Description
13:49:03.903 Description OK Pulsar Observatories Dome
13:49:03.943 DriverInfo
About to get property DriverInfo
13:49:03.955 DriverInfo OK Pulsar
Observatories Dome Drive Version: 6.3
13:49:04.010 DriverVersion About to get
property DriverVersion
13:49:04.020 DriverVersion OK 6.3
13:49:04.075 Name
About to get property Name
13:49:04.083 Name OK Pulsar Observatories Dome
13:49:04.144 CommandString INFO Conform cannot test the CommandString method
13:49:04.153 CommandBlind INFO Conform cannot test the CommandBlind method
13:49:04.158 CommandBool INFO Conform cannot test the CommandBool method
13:49:04.169 Action INFO Conform cannot test the Action method
13:49:04.176
SupportedActions About to call method SupportedActions
13:49:04.190
SupportedActions OK Driver returned an empty action list
Can Properties
13:49:04.304 CanFindHome About to get CanFindHome property
13:49:04.319
CanFindHome OK True
13:49:04.383 CanPark About to get CanPark property
13:49:04.394 CanPark OK True
13:49:04.450 CanSetAltitude About to get
CanSetAltitude property
13:49:04.468 CanSetAltitude OK False
13:49:04.527
CanSetAzimuth About to get CanSetAzimuth property
13:49:04.535 CanSetAzimuth
OK True
13:49:04.579 CanSetPark About to get CanSetPark property
13:49:04.591 CanSetPark OK True
13:49:04.647 CanSetShutter About to get
CanSetShutter property
13:49:04.658 CanSetShutter OK True
13:49:04.724
CanSlave About to get CanSlave property
13:49:04.737 CanSlave OK False
13:49:04.794 CanSyncAzimuth About to get CanSyncAzimuth property
13:49:04.804
CanSyncAzimuth OK True
Pre-run Checks
13:49:04.971 PreRunCheck About
to get Slewing property
13:49:05.313 DomeSafety Attempting to open shutter as
some tests may fail if it is closed...
13:49:05.325 PreRunCheck About to call
OpenShutter
13:49:05.505 DomeShutterWait About to get ShutterStatus property
repeatedly
13:50:05.718 DomeShutterWait About to get ShutterStatus property
13:50:05.730 DomeShutterWait ERROR Timed out waiting for shutter to reach state:
shutterOpen, consider increasing the timeout setting in Options / Conformance
Options
13:50:05.804 PreRunCheck About to get ShutterStatus property
13:50:05.817 PreRunCheck About to get ShutterStatus property
13:50:05.837
DomeSafety WARNING Shutter status: shutterOpening
Properties
13:50:05.935 Altitude About to get Altitude property
13:50:05.976 Altitude OK
Optional member threw a PropertyNotImplementedException exception.
13:50:06.035 AtHome About to get AtHome property
13:50:06.045 AtHome OK False
13:50:06.103 AtPark About to get AtPark property
13:50:06.114 AtPark OK True
13:50:06.167 Azimuth About to get Azimuth property
13:50:06.177 Azimuth OK 90
13:50:06.235 ShutterStatus About to get ShutterStatus property
13:50:06.249
ShutterStatus OK shutterOpening
13:50:06.321 Slaved Read About to get Slaved
property
13:50:06.333 Slaved Read OK False
13:50:06.385 Slaved Write About
to set Slaved property
13:50:06.401 Slaved Write OK Optional member threw a
PropertyNotImplementedException exception.
13:50:06.469 Slewing About to get
Slewing property
13:50:06.482 Slewing OK True
Methods
13:50:06.612
AbortSlew About to call AbortSlew method
13:50:06.646 AbortSlew About to get
Slaved property
13:50:06.670 AbortSlew OK AbortSlew command issued
successfully
13:50:06.738 SlewToAltitude About to call SlewToAltitude method
13:50:06.751 SlewToAltitude OK Optional member threw a
MethodNotImplementedException exception.
13:50:06.819 SlewToAzimuth About to
call SlewToAzimuth
13:50:06.903 SlewToAzimuth About to get Slewing property
13:50:48.896 SlewToAzimuth 0 OK Asynchronous slew OK
13:50:59.631
SlewToAzimuth About to call SlewToAzimuth
13:50:59.776 SlewToAzimuth About to
get Slewing property
13:50:59.784 SlewToAzimuth 45 OK Synchronous slew OK
13:51:10.412 SlewToAzimuth About to call SlewToAzimuth
13:51:10.446
SlewToAzimuth About to get Slewing property
13:51:46.856 SlewToAzimuth 90 OK
Asynchronous slew OK
13:51:57.631 SlewToAzimuth About to call SlewToAzimuth
13:51:57.657 SlewToAzimuth About to get Slewing property
13:51:57.670
SlewToAzimuth 135 OK Synchronous slew OK
13:52:08.358 SlewToAzimuth About to
call SlewToAzimuth
13:52:08.372 SlewToAzimuth About to get Slewing property
13:52:39.682 SlewToAzimuth 180 OK Asynchronous slew OK
13:52:50.350
SlewToAzimuth About to call SlewToAzimuth
13:52:50.371 SlewToAzimuth About to
get Slewing property
13:52:50.379 SlewToAzimuth 225 OK Synchronous slew OK
13:53:01.170 SlewToAzimuth About to call SlewToAzimuth
13:53:01.184
SlewToAzimuth About to get Slewing property
13:53:32.342 SlewToAzimuth 270 OK
Asynchronous slew OK
13:53:43.030 SlewToAzimuth About to call SlewToAzimuth
13:53:43.053 SlewToAzimuth About to get Slewing property
13:53:43.063
SlewToAzimuth 315 OK Synchronous slew OK
13:53:53.809 SlewToAzimuth About to
call SlewToAzimuth
13:53:53.819 SlewToAzimuth OK COM invalid value exception
correctly raised for slew to -10 degrees
13:53:53.876 SlewToAzimuth About to
call SlewToAzimuth
13:53:53.887 SlewToAzimuth OK COM invalid value exception
correctly raised for slew to 370 degrees
13:53:53.973 SyncToAzimuth About to
get Azimuth property
13:53:54.012 SyncToAzimuth OK Dome synced OK to within
+- 1 degree
13:53:54.028 SyncToAzimuth About to call SyncToAzimuth method
13:53:54.073 SyncToAzimuth About to call SyncToAzimuth method
13:53:54.099
SyncToAzimuth OK COM invalid value exception correctly raised for sync to -10
degrees
13:53:54.170 SyncToAzimuth About to call SyncToAzimuth method
13:53:54.184 SyncToAzimuth OK COM invalid value exception correctly raised for
sync to 370 degrees
13:53:54.279 CloseShutter About to get ShutterStatus
property
13:53:54.293 CloseShutter About to call CloseShutter method
13:53:54.410 DomeShutterWait About to get ShutterStatus property repeatedly
13:54:54.415 DomeShutterWait About to get ShutterStatus property
13:54:54.425
DomeShutterWait ERROR Timed out waiting for shutter to reach state:
shutterClosed, consider increasing the timeout setting in Options / Conformance
Options
13:54:54.441 CloseShutter OK Shutter closed successfully
13:55:15.680 OpenShutter About to get ShutterStatus property
13:55:15.854
DomeShutterWait About to get ShutterStatus property repeatedly
13:56:15.855
DomeShutterWait About to get ShutterStatus property
13:56:15.864
DomeShutterWait ERROR Timed out waiting for shutter to reach state: shutterOpen,
consider increasing the timeout setting in Options / Conformance Options
13:56:15.879 OpenShutter About to get ShutterStatus property
13:56:15.896
OpenShutter About to get ShutterStatus property
13:56:15.916 OpenShutter
ERROR Unable to open shutter - ShutterStatus: shutterOpening
13:56:26.672
FindHome About to call FindHome method
13:56:26.748 FindHome About to get
Slaved Property
13:56:26.758 FindHome About to get Slewing property
repeatedly
13:57:31.562 FindHome About to get AtHome property
13:57:31.572
FindHome OK Dome homed successfully
13:57:42.367 Park About to call Park
method
13:58:22.261 Park About to get Slaved property
13:58:22.277 Park
About to get Slewing property repeatedly
13:58:23.222 Park About to get
AtPark property
13:58:23.233 Park OK Dome parked successfully
13:58:34.071
SetPark About to call SetPark method
13:58:34.103 SetPark OK SetPark issued
OK
Post-run Checks
13:58:34.268 DomeSafety INFO Attempting to close
shutter...
13:58:34.288 DomeSafety About to call CloseShutter
13:58:34.343
DomeShutterWait About to get ShutterStatus property repeatedly
13:59:24.963
DomeShutterWait About to get ShutterStatus property
13:59:24.974 DomeSafety
OK Shutter successfully closed
13:59:24.989 DomeSafety INFO Attempting to
park dome...
13:59:25.007 DomeSafety About to call Park
13:59:25.933
DomeSafety OK Dome successfully parked
Conformance test complete
13:59:26.004 DisposeAndReleaseObject About to release Dome driver instance
13:59:26.021 DisposeAndReleaseObject About to set Connected property
Your
driver had 4 errors, 1 warning and 0 issue
Driver Hash Value:
E211844A88467F271239409179532BFAF38DFCDDE1FB6615B5438A51EB0C988383962AAD8B37DC507855BAD22683F80C140E35A7F9219034EBAB33850E0BB4E0
Back to Top
Update 2023-12-03
Dome Shutter operated without major issue during the
S1171 session including two unscheduled Suspend/Resume operations, however
there were issues with delays in the ShutterStatus arriving at an 'Open' or
'Closed' state in 66% of operations. This is a new problem that has begun
after installing Dome Software Version 1.51 (with Shutter is still on
Shutter Software Version 1.25).
- Of the 3 opening operations,
all 3 had delays in seeing Dome.ShutterStatus arrive at the 'Open' state.
- Of the 3 closing operations 1 had a delay in seeing Dome.ShutterStatus
arrive at the 'Closed' state.
(the other 2 closing
operations had times that are within the 5s tolerance that is dictated by
the client's cycle time)
Time | Observatory State |
Shutter Operation |
Physical Time from Zigbee Sensors |
Time based on Dome.Shutter Status |
||
17:47 | Starting | Opening | 42s | 90s | ||
19:09 | Suspending | Closing | 45s | 50s | ||
19:22 | Resuming | Opening | 42s | 95s | ||
01:27 | Suspending | Closing | 45s | 50s | ||
05:21 | Resuming | Opening | 42s | 75s | ||
06:26 | Ending | Closing | 45s | 85s |
Back to Top
Back to Top
Issue
1) AstroWeather program crashing in
read/create Weather Forecast section
2) AstroWeather creating only
half-completed 24 hour Weather Forecast Charts
Description
After a few random crashes of the AstroWeather program running on the AllSky/Weather Computer on 2023-12-04, including one at 23:28, the program began to crash almost immediately after using 'Start Service' facility. This was after installing a new AstroWeather version). The problem was repeatable, each time the program/serverces was started over the course of 10 minutes or so it crashed. By a process of elimination it was found that the crash only happened if the 'Weather Forecast' service was selected. If the service wasn't selected the program ran without problem. A new AstroWeather version is being used but changes made are restricted to ObsEnv and Graphs, which have no bearing on the Weather Forecast module. It is presumed that there is unexpected data anomaly in the Rest API dataset or less likely that the specification of the API has changed. The WeatherForecast Chart that signals the completion of a WeatherForecast Cycle was last made at 2023-12-04 23:28 (the chart and contained data is completely normal and shows no anomalies). Until a reason for the crashes is found and fixed the AstroWeather program will be run with the Weather Forecast Service, allowing the issue to be demoted from Major rank to Minor rank. The Weather Forecast Service is needed for Live Sessions, so a solution needs to be found beforehand. Assuming the issue is an unexpected data value or format, it would seem the immediate software change should be to place appropriate exception block around.
Analysis
Running Test OpenWeather Forecast on Development Computer quickly
revealed a fatal exception ("System.ArgumentOutOfRangeException: 'Length
cannot be less than zero" in TOpenWeather.GetJsonDataSet () routine
Function
GetJsonDataSet(ByVal block As String, ByVal Keyword As String) As String
'================
Dim c As Integer
Dim S As String = ""
Dim
iStart As Integer
Dim iEnd As Integer
Dim TwinQuotes As
String = """"
Dim field As String = ""
' Find Position
of keyword within input string
c = InStr(block, TwinQuotes +
Keyword + TwinQuotes)
If c = 0 Then
Return ""
Exit Function
Else
S = block.Substring(c - 1)
iStart = InStr(S, "[{")
iEnd = InStr(S, "}]") - 3
field = S.Substring(iStart + 1, iEnd - iStart + 1)
End If
Return
field
End Function
In the line
field =
S.Substring(iStart + 1, iEnd - iStart + 1)
where Parameters to
routine
Block =
"dt":1701766800,"temp":2.93,"feels_like":0.04,"pressure":1017,"humidity":83,"dew_point":0.31,"uvi":0,
"clouds":96,"visibility":10000,"wind_speed":2.97,"wind_deg":311,"wind_gust":2.43,
"weather":[{"id":500,"main":"Rain","description":"light
rain","icon":"10d"
Keyword = "weather"
and variables at time of
exception are
c = 183
S =
"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"
iStart
= 11
iEnd = -3
field = S.Substring(12,-13)
and It would seem the exception arises because the JSON block doesn't
have the expected closing characters, ie }] are missing.
Placing a
Try Catch End Tr block around the code and returning "" in the event of an
exception stops the program crashing, a Forecast Graph is completed for
first 10 hours of the 24 hour forecast. If this is a glitch with the JSON
response from the OpenWeather Server it would seem tha tit is going to be
impossible to complete the Forecast Chart, and and a
half completed graph is the best that can be achieved in the circumstances.
Running the JSON Response from OpenWeather through 'JSON Validator' (free,
from Microsoft App Store) produces a 'Your (JSON) code is valid".
This suggests that there is an issue with the self built JSON parser in
AstroWeather.
Adding tracing it is can be seen that JSON Code
associated with normal hourly data that doesn't produce an exception looks
like this:
{"dt":1701763200,"temp":3.54,"feels_like":1.35,"pressure":1016,"humidity":78,"dew_point":0.02,
"uvi":0,"clouds":97,"visibility":10000,"wind_speed":2.31,"wind_deg":325,"wind_gust":2.06,
"weather":[{"id":500,"main":"Rain","description":"light
rain","icon":"10n"}],
"pop":0.55,"rain":{"1h":0.23}},
GetJsonDataSet() is called with
Block:
"dt":1701763200,"temp":3.54,"feels_like":1.35,"pressure":1016,"humidity":78,"dew_point":0.02,"uvi":0,
"clouds":97,"visibility":10000,"wind_speed":2.31,"wind_deg":325,"wind_gust":2.06,
"weather":[{"id":500,"main":"Rain","description":"light
rain","icon":"10n"}],"pop":0.55,"rain":{"1h":0.23}
S :
"weather":[{"id":500,"main":"Rain","description":"light
rain","icon":"10n"}],"pop":0.55,"rain":{"1h":0.23}
Return:
"id":500,"main":"Rain","description":"light rain","icon":"10n"
However the JSON code associated with hourly data that produces the
exception looks like this :
{"dt":1701766800,"temp":2.93,"feels_like":0.04,"pressure":1017,"humidity":83,"dew_point":0.31,
"uvi":0,"clouds":96,"visibility":10000,"wind_speed":2.97,"wind_deg":311,"wind_gust":2.43,
"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"},
{"id":511,"main":"Rain","description":"freezing rain","icon":"13d"}],
"pop":0.55,"rain":{"1h":0.18}},
GetJsonDataSet() is called with
Block:
"dt":1701766800,"temp":2.93,"feels_like":0.04,"pressure":1017,"humidity":83,"dew_point":0.31,"uvi":0,
"clouds":96,"visibility":10000,"wind_speed":2.97,"wind_deg":311,"wind_gust":2.43,
"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"
S:
"dt":1701766800,"temp":2.93,"feels_like":0.04,"pressure":1017,"humidity":83,"dew_point":0.31,"uvi":0,
"clouds":96,"visibility":10000,"wind_speed":2.97,"wind_deg":311,"wind_gust":2.43,
"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"
Conclusion
It seems that Weather can be an array and
when it there is more than one item (more than one id/icon) is when the JSON
parser has a problem.The parser needs to be modified to recognise this
situation and probably return the first item. Problem seems to be in the
code that creates the Block.
The ParseHourlyBlock(ByVal block
As String) routine uses
iStart = InStr(S, "{")
iEnd = InStr(S, "},") - 1
finds the string bounded by the first "{" and first "}," token
however the
whilst there is a }, at end of
block as in },{"dt":, there can be an earlier }, as in
},{"id"
hence searching on }, isn't sufficient.
Instead the search
needs to find } with equivalent rank as the initial {. After trialling some
code which successfully worked, it was discovered that there was already a
routine in the 'Forecast.vb' module called 'GetJsonBlock()' which is
used like
datablock = GetJsonBlock(S.Substring(iStart - 1), "{", iEnd)
Back to Top
This Web Page: | Notes - Session 1171 (2023-12-02) |
Last Updated : | 2024-09-26 |
Site Owner : | David Richards |
Home Page : | David's Astronomy Web Site |