OCS Version 3


Rakios
 

Hi howard
I am with this problem when I want to configure the ASCOM roll roof driver
In SGP it works perfect, but in the ASCOM control panel and in NINA it doesn't let me configure it.
What I can be doing wrong?
Thanks in advance




Howard Dutton
 

Email me your valid ASCOM driver registration information and I'd be happy to take a look at the issue.


Howard Dutton
 

Ok, found your registration...
I emailed a link to a new set of drivers to correct this issue.


Howard Dutton
 

Speaking of ASCOM drivers...

I just added ASCOM ALPACA support for Safety and ObservingConditions to the latest OCS (Main Branch.)

For ALPACA there are no additional drivers to install into ASCOM.  You do have to configure ASCOM to use it however (no automatic discovery yet/ever?)

Both drivers pass ASCOM confirmance checks for me.  Safety was easy, ObservingConditions took a little while:

 
ConformanceCheck ASCOM Device Conformance Checker Version 6.5.7933.18877, Build time: 9/20/2021 11:29:18 AM
ConformanceCheck Running on: ASCOM Platform 6.5 SP1 6.5.1.3234
 
ConformanceCheck Driver ProgID: ASCOM.AlpacaDynamic1.ObservingConditions
 
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 not be interpreted to infer state.
 
19:27:38.575 Driver Access Checks              OK       
19:27:38.581 AccessChecks                               About to create instance using Activator.CreateInstance
19:27:39.237 AccessChecks                      OK       Successfully created driver using late binding
19:27:39.242 AccessChecks                               About to set Connected property true
19:27:39.261 AccessChecks                               About to set Connected property false
19:27:39.281 AccessChecks                      OK       Successfully connected using late binding
19:27:39.285 AccessChecks                      INFO     The driver is a COM object
19:27:39.290 DisposeAndReleaseObject                    About to release AccessChecks driver instance
19:27:39.295 DisposeAndReleaseObject                    About to set Connected property
19:27:39.968 AccessChecks                               About to set Connected property
19:27:39.986 AccessChecks                      INFO     Device exposes Interface IObservingConditions
19:27:39.991 AccessChecks                               About to set Connected property
19:27:40.660 AccessChecks                      OK       Successfully created driver Using driver access toolkit
19:27:40.666 AccessChecks                               About to set Connected property
19:27:40.690 AccessChecks                      OK       Successfully connected Using driver access toolkit
19:27:40.696 AccessChecks                               About to set Connected property
 
Conform is using ASCOM.DriverAccess.ObservingConditions to get an ObservingConditions object
19:27:40.743 ConformanceCheck                  OK       Driver instance created successfully
19:27:40.819 ConformanceCheck                           About to set Connected property
19:27:40.826 Absolute                                   About to set Connected property
19:27:40.852 ConformanceCheck                  OK       Connected OK
 
Common Driver Methods
19:27:40.904 InterfaceVersion                           About to get property InterfaceVersion
19:27:40.919 InterfaceVersion                  OK       1
19:27:40.958 Connected                                  About to get property Connected
19:27:40.967 Connected                         OK       True
19:27:41.005 Description                                About to get property Description
19:27:41.024 Description                       OK       ONCUE OCS w/Hardware Version 4
19:27:41.066 DriverInfo                                 About to get property DriverInfo
19:27:41.087 DriverInfo                        OK       ASCOM Dynamic Driver v6.5.1.3234 - REMOTE DEVICE: OCS Alpaca Driver for Safety, Dome, Etc. version 1.0
19:27:41.129 DriverVersion                              About to get property DriverVersion
19:27:41.146 DriverVersion                     OK       1.0
19:27:41.189 Name                                       About to get property Name
19:27:41.209 Name                              OK       OCS Alpaca Driver
19:27:41.250 CommandString                     INFO     Conform cannot test the CommandString method
19:27:41.256 CommandBlind                      INFO     Conform cannot test the CommandBlind method
19:27:41.263 CommandBool                       INFO     Conform cannot test the CommandBool method
19:27:41.268 Action                            INFO     Conform cannot test the Action method
19:27:41.277 SupportedActions                           About to call method SupportedActions
19:27:41.306 SupportedActions                  OK       Driver returned an empty action list
 
Properties
19:27:41.474 AveragePeriod                              About to get AveragePeriod property
19:27:41.493 AveragePeriod                     OK       0
19:27:41.503 AveragePeriod Write                        About to set AveragePeriod property
19:27:41.528 AveragePeriod Write               OK       Invalid Value exception generated as expected on set average period < -1.0
19:27:41.538 AveragePeriod Write                        About to set AveragePeriod property
19:27:41.556 AveragePeriod Write               OK       Successfully set average period to 0.0
19:27:41.565 AveragePeriod Write                        About to set AveragePeriod property
19:27:41.588 AveragePeriod Write               OK       Invalid value exception thrown when average period is set to 5.0, which is permitted by the specification
19:27:41.596 AveragePeriod Write                        About to set AveragePeriod property
19:27:41.616 AveragePeriod Write               OK       Successfully restored original average period: 0
19:27:41.623 CloudCover                                 About to get CloudCover property
19:27:41.644 CloudCover                        OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.655 DewPoint                                   About to get DewPoint property
19:27:41.673 DewPoint                          OK       6.885975647
19:27:41.681 Humidity                                   About to get Humidity property
19:27:41.700 Humidity                          OK       29.62988281
19:27:41.710 DewPoint & Humidity               OK       Dew point and humidity are both implemented per the interface specification
19:27:41.720 Pressure                                   About to get Pressure property
19:27:41.741 Pressure                          OK       1010.837952
19:27:41.749 RainRate                                   About to get RainRate property
19:27:41.769 RainRate                          OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.786 SkyBrightness                              About to get SkyBrightness property
19:27:41.805 SkyBrightness                     OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.815 SkyQuality                                 About to get SkyQuality property
19:27:41.837 SkyQuality                        OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.849 StarFWHM                                   About to get StarFWHM property
19:27:41.868 StarFWHM                          OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.879 SkyTemperature                             About to get SkyTemperature property
19:27:41.898 SkyTemperature                    OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.906 Temperature                                About to get Temperature property
19:27:41.926 Temperature                       OK       20.95999908
19:27:41.936 WindDirection                              About to get WindDirection property
19:27:41.955 WindDirection                     OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.965 WindGust                                   About to get WindGust property
19:27:41.985 WindGust                          OK       Optional member threw a PropertyNotImplementedException exception.
19:27:41.994 WindSpeed                                  About to get WindSpeed property
19:27:42.016 WindSpeed                         OK       Optional member threw a PropertyNotImplementedException exception.
 
Methods
19:27:42.069 TimeSinceLastUpdateLatest                  About to call TimeSinceLastUpdate(Latest) method
19:27:42.089 TimeSinceLastUpdateLatest         OK       0
19:27:42.097 TimeSinceLastUpdateCloudCover              About to call TimeSinceLastUpdate(CloudCover) method
19:27:42.119 TimeSinceLastUpdateCloudCover     OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.128 TimeSinceLastUpdateDewPoint                About to call TimeSinceLastUpdate(DewPoint) method
19:27:42.146 TimeSinceLastUpdateDewPoint       OK       0
19:27:42.156 TimeSinceLastUpdateHumidity                About to call TimeSinceLastUpdate(Humidity) method
19:27:42.175 TimeSinceLastUpdateHumidity       OK       0
19:27:42.185 DewPoint & Humidity               OK       Dew point and humidity are both implemented per the interface specification
19:27:42.219 TimeSinceLastUpdatePressure                About to call TimeSinceLastUpdate(Pressure) method
19:27:42.237 TimeSinceLastUpdatePressure       OK       0
19:27:42.245 TimeSinceLastUpdateRainRate                About to call TimeSinceLastUpdate(RainRate) method
19:27:42.267 TimeSinceLastUpdateRainRate       OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.276 TimeSinceLastUpdateSkyBrightness           About to call TimeSinceLastUpdate(SkyBrightness) method
19:27:42.304 TimeSinceLastUpdateSkyBrightness  OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.313 TimeSinceLastUpdateSkyQuality              About to call TimeSinceLastUpdate(SkyQuality) method
19:27:42.372 TimeSinceLastUpdateSkyQuality     OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.379 TimeSinceLastUpdateStarFWHM                About to call TimeSinceLastUpdate(StarFWHM) method
19:27:42.401 TimeSinceLastUpdateStarFWHM       OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.410 TimeSinceLastUpdateSkyTemperature          About to call TimeSinceLastUpdate(SkyTemperature) method
19:27:42.463 TimeSinceLastUpdateSkyTemperature OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.472 TimeSinceLastUpdateTemperature             About to call TimeSinceLastUpdate(Temperature) method
19:27:42.490 TimeSinceLastUpdateTemperature    OK       0
19:27:42.498 TimeSinceLastUpdateWindDirection           About to call TimeSinceLastUpdate(WindDirection) method
19:27:42.518 TimeSinceLastUpdateWindDirection  OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.527 TimeSinceLastUpdateWindGust                About to call TimeSinceLastUpdate(WindGust) method
19:27:42.547 TimeSinceLastUpdateWindGust       OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.556 TimeSinceLastUpdateWindSpeed               About to call TimeSinceLastUpdate(WindSpeed) method
19:27:42.576 TimeSinceLastUpdateWindSpeed      OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.586 AveragePeriod Write                        About to call Refresh method
19:27:42.607 Refresh                           OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.644 SensorDescriptionCloudCover                About to call SensorDescription(CloudCover) method
19:27:42.665 SensorDescriptionCloudCover       OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.676 SensorDescriptionDewPoint                  About to call SensorDescription(DewPoint) method
19:27:42.698 SensorDescriptionDewPoint         OK       Bosch BME280 Temperature Sensor on I2C & Bosch BME280 Humidity Sensor on I2C
19:27:42.706 SensorDescriptionHumidity                  About to call SensorDescription(Humidity) method
19:27:42.727 SensorDescriptionHumidity         OK       Bosch BME280 Humidity Sensor on I2C
19:27:42.738 DewPoint & Humidity               OK       Dew point and humidity are both implemented per the interface specification
19:27:42.746 SensorDescriptionPressure                  About to call SensorDescription(Pressure) method
19:27:42.767 SensorDescriptionPressure         OK       Bosch BME280 Pressure Sensor on I2C
19:27:42.776 SensorDescriptionRainRate                  About to call SensorDescription(RainRate) method
19:27:42.796 SensorDescriptionRainRate         OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.804 SensorDescriptionSkyBrightness             About to call SensorDescription(SkyBrightness) method
19:27:42.824 SensorDescriptionSkyBrightness    OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.833 SensorDescriptionSkyQuality                About to call SensorDescription(SkyQuality) method
19:27:42.854 SensorDescriptionSkyQuality       OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.864 SensorDescriptionStarFWHM                  About to call SensorDescription(StarFWHM) method
19:27:42.885 SensorDescriptionStarFWHM         OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.893 SensorDescriptionSkyTemperature            About to call SensorDescription(SkyTemperature) method
19:27:42.918 SensorDescriptionSkyTemperature   OK       Optional member threw a MethodNotImplementedException exception.
19:27:42.927 SensorDescriptionTemperature               About to call SensorDescription(Temperature) method
19:27:42.963 SensorDescriptionTemperature      OK       Bosch BME280 Temperature Sensor on I2C
19:27:42.971 SensorDescriptionWindDirection             About to call SensorDescription(WindDirection) method
19:27:42.991 SensorDescriptionWindDirection    OK       Optional member threw a MethodNotImplementedException exception.
19:27:43.000 SensorDescriptionWindGust                  About to call SensorDescription(WindGust) method
19:27:43.021 SensorDescriptionWindGust         OK       Optional member threw a MethodNotImplementedException exception.
19:27:43.031 SensorDescriptionWindSpeed                 About to call SensorDescription(WindSpeed) method
19:27:43.052 SensorDescriptionWindSpeed        OK       Optional member threw a MethodNotImplementedException exception.
19:27:43.061 Consistency - CloudCover          OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.070 Consistency - DewPoint            OK       Sensor value, description and time since last update are all implemented as required by the specification
19:27:43.078 Consistency - Humidity            OK       Sensor value, description and time since last update are all implemented as required by the specification
19:27:43.089 Consistency - Pressure            OK       Sensor value, description and time since last update are all implemented as required by the specification
19:27:43.099 Consistency - RainRate            OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.109 Consistency - SkyBrightness       OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.118 Consistency - SkyQuality          OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.126 Consistency - SkyTemperature      OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.136 Consistency - StarFWHM            OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.144 Consistency - Temperature         OK       Sensor value, description and time since last update are all implemented as required by the specification
19:27:43.155 Consistency - WindDirection       OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.163 Consistency - WindGust            OK       Sensor value, description and time since last update are all not implemented as required by the specification
19:27:43.182 Consistency - WindSpeed           OK       Sensor value, description and time since last update are all not implemented as required by the specification
 
Conformance test complete
19:27:43.313 DisposeAndReleaseObject                    About to release ObservingConditions driver instance
19:27:43.322 DisposeAndReleaseObject                    About to set Connected property
 
No errors, warnings or issues found: your driver passes ASCOM validation!!


Howard Dutton
 

On Tue, Mar 29, 2022 at 04:34 PM, Howard Dutton wrote:
I just added ASCOM ALPACA support for Safety and ObservingConditions to the latest OCS (Main Branch.)
And now, ASCOM Switch is also supported.


Howard Dutton
 

On Wed, Mar 30, 2022 at 01:11 PM, Howard Dutton wrote:
And now, ASCOM Switch is also supported.


Howard Dutton
 

And ObservingConditions:


Howard Dutton
 
Edited

And finally, the Dome/Shutter (roof:)


Howard Dutton
 

All of these have the usual OCS website panels for control also (those additional Power panel options are for simulating roof close/open limit switches:)


Rakios
 

Hello Howard
Is latest version of ascom drivers compatible with release 2.3?
If it is compatible, could you give me the link to download it?
Thank you

De: onstep-ocs@onstep.groups.io <onstep-ocs@onstep.groups.io> en nombre de Howard Dutton <hjd1964@...>
Enviado: viernes, 17 de diciembre de 2021 17:42
Para: onstep-ocs@onstep.groups.io <onstep-ocs@onstep.groups.io>
Asunto: Re: [onstep-ocs] ASCOM Driver 64bit problem
 
Ok, found your registration...
I emailed a link to a new set of drivers to correct this issue.


Howard Dutton
 

On Tue, Apr 12, 2022 at 06:05 AM, Rakios wrote:
Is latest version of ascom drivers compatible with release 2.3?
If it is compatible, could you give me the link to download it?
I sent the ASCOM driver link to you, again, I don't think you understand though...

There are no OCS specific "ascom drivers" associated with this new work shown below, and NONE ARE NEEDED if running OCS 3.03 and later.

The ASCOM Alpaca functionality (google and read up on it) is built into the OCS firmware, all you need to do is ask ASCOM to create an Alpaca driver (for each driver type) and that's it.  ASCOM's defaults work fine except the port is at 10000 instead of 11111 (though I might change that.)


Howard Dutton
 

On Wed, Apr 13, 2022 at 05:40 AM, Howard Dutton wrote:
The ASCOM Alpaca functionality (google and read up on it) is built into the OCS firmware, all you need to do is ask ASCOM to create an Alpaca driver (for each driver type) and that's it.  ASCOM's defaults work fine except the port is at 10000 instead of 11111 (though I might change that.)
Note that the methods I used are only suitable for IP network connections, there is NO support for serial port ASCOM connections with Alpaca.


Howard Dutton
 

To keep things organized I've created a topic here concerning work on the Observatory Control System version 3.


Howard Dutton
 
Edited

On Wed, Apr 13, 2022 at 05:42 AM, Howard Dutton wrote:
On Wed, Apr 13, 2022 at 05:40 AM, Howard Dutton wrote:
The ASCOM Alpaca functionality (google and read up on it) is built into the OCS firmware, all you need to do is ask ASCOM to create an Alpaca driver (for each driver type) and that's it.  ASCOM's defaults work fine except the port is at 10000 instead of 11111 (though I might change that.)
Note that the methods I used are only suitable for IP network connections, there is NO support for serial port ASCOM connections with Alpaca.
Also note that OCS version 3 is a tight fit for the Mega2560 and probably this Alpaca support requires a Teensy, likely it requires using a W5500 for Ethernet too.


Howard Dutton
 

The latest main branch OCS now runs on the ESP32 (using WiFi.)  This requires using Arduino board manager ESP32 libraries version 1.0.4 and a target of 1MB program and 3MB spiff.  The SPIFF part is the file system similar to a very small SD card built into the ESP32.  You must initialize the SPIFF as described here then format and upload the Chart.js file in the Arduino IDE (its already in the /OCS/data directory to help accomplish this.)  Note that the limited storage still needs to be worked on as the OCS weather log file format will have to be changed so its more compact and erases old log files automatically.  I plan to compact the log files to accomplish this... perhaps the most recent 2 or 3 days at higher resolution then hourly logs when older than that (so 1920 bytes per day will allow for about 3 years on a 4MB ESP32.)

Naturally not every feature is tested, but generally it seems to work.

Probably I will release hardware specific to the ESP32, the lack of pins will make this more minimal than the Teensy based OCS hardware version 4 but still a useful option as the ESP32 is cheaper and more widely available. The concept below has 8 relays (3x SSR, 1x MOSFET, and 4x 16A 220V) and 9 inputs (3x 33V analog, 3x TTL analog or digital, and 3x TTL digital) plus one TTL serial port and I2C.  Should be enough for a modest setup:



Fernando Nino Sr
 

On Wed, Apr 13, 2022 at 01:17 PM, Howard Dutton wrote:
ESP32
Hi Howard, I have a question on which ESP32 Module to use, ESP Wroom32 has 38 pin outs and the ESP32 Dev.Kit v1- DoIt has 36 pin outs, does it matter which one to use, I have both of these modules. I would like to give it a go with the ESP32 version.
Thanks
Nino


Howard Dutton
 

On Thu, Apr 14, 2022 at 07:24 AM, Fernando Nino Sr wrote:
Hi Howard, I have a question on which ESP32 Module to use, ESP Wroom32 has 38 pin outs and the ESP32 Dev.Kit v1- DoIt has 36 pin outs, does it matter which one to use, I have both of these modules. I would like to give it a go with the ESP32 version.
I doubt it matters.  The ESP32 support isn't really complete (log file changes are still needed) but feel free to test it out.

Naturally ESP32's are tricky to design hardware for so, be sure to read up on the special pin rules.  You might very well need to design a pinmap for your hardware if its much different than my ESP32 test setup (whos pinmap might still change as I see fit.)


Howard Dutton
 

On Thu, Apr 14, 2022 at 07:24 AM, Fernando Nino Sr wrote:
Hi Howard, I have a question on which ESP32 Module to use, ESP Wroom32 has 38 pin outs and the ESP32 Dev.Kit v1- DoIt has 36 pin outs, does it matter which one to use, I have both of these modules. I would like to give it a go with the ESP32 version.
I ended up deleting the ESP32 pinmap, not that a new one can't be added and a plain ESP32 should still work.

In its place I added support for the ESP32-S2 SAOLA as in testing the ESP32-S2 appears to work also.  It has enough pins to basically keep the OCS4 hardware layout except without the SPI interface stuff (no great loss there):




I won't build one of these, but I probably will jumper wire my ESP32-S2 into an OCS4 to see that it basically works.