26-Jan-2023 This is a major update. To reprogram the controller with 133-19
* download using the link provided belowm then configure the firmware
* connect the controller using USB serial (do not use OTA)
* reprogram the controller
* Upload the data sketch files
When making changes to the controller_config.h file you will notice a few changes. Please refer to the new PDF document section on the firmware config for more detail.
My personal thanks again to the test test for their help without which this would not be possible, Paul, Tommy, Wolf, Gintautas, Kurt, Jairo, Stargazer, Andrew and Graham.
Regards
Robert
Document PDF 133-19. Link to PDF below
Updates include the new features, changes, Firmware Configuration, Windows Application tabs, /admin web page changes, MQTT, Web Query, Weather Underground and other changes.
There is a link to firmware release 133-19 below.
*There are a significant number of changes to firmware. *
Firmware Changes
Are found in the link below and towards the end of this post.
Windows Application 0062
Download the update for the Windows application version 0062 below. If you have an existing version previously installed, Use Control Panel to uninstall the application first. Next, Install the new Windows Application using the installer. Please refer to pdf mysqm+ version 133-19 for the changes and additions.
Add defines/tsl2591_defines.h to hold tsl2591 settings
Add sqmserver port check for tcpipserver to /admin1
Add tcpipserver port check for sqmserver to /admin1
Add webserver port check for sqmserver to /admin1
Add sync rain bucket to RTC for /admin3
Add weather underground ID and Key to ControllerData
Add weather underground ID and Key to /admin10 MISC
Add weather underground settings to TCP/IP Server
Add sqm server settings to TCP/IP Server
Add check for sqm server port when changing port number for other servers
Change layout of /tsl2591 admin page
Change TSL2591 samplesize value to be in range to 1-20
Change to init_all_vars()
Change winddiroffset in controllerdata to data type int
Delete R Brown at bottom of web pages
Deprecate crossdomain (make crossdomain default)
Modify TCPIP case :07 to include espnow state, sqm server state and weather underground state
Move File List Format from MISC /admin10 to OPTIONS /admin3
Re-arrange items alphabetically /admin3
Rewrite MQTT code handler in loop()
Rewrite MQTT publish and subscribe code
Rewrite Weather Underground code, remove HTTPClient and use Web Query (huge space savings)
Fix tsl2591 admin page generating not found error when changing tsl2591 values
Fix client ip addresses on /admin1 not showing when TCPIPSERVER is not enabled
Fix Changes to TSL2591 Averging and Samplesize reverting to default values on next reboot
Fix error in TCPIP server, case 139, set web server port
Fix for Static IP
Fix for MQTT subscribe topic
sqm_server
add init_sqmserver()
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
Web Query
remove bool get_state(void);
remove String get_response(void);
Management Server
remove unsigned long _port;
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
TCPIP Server
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
Web Server
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
Miguel has provided us with a 3D printed design for a case, with all the STL files and images etc. Which is really fantastic and generous, so please, take a look and see how others are implementing and customising the mysqm+ project.
Regards
Robert
Last edit: brownrb 2023-02-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
134-01 05-Feb-2023
Change to GPS cardinal direction code
Fix error in get_location() for Static GPS coordinates
Fix error in GPS LOC seconds time occasionally showing different seconds time to UTC value
Deprecate ArduinoOTA
Deprecate MQTT Keep alive
Deprecate print_struct_tm()
Deprecate init_otaupdate()
134-00 01-Feb-2023
Add length checks to devicename, mqtt publish topic, mqtt subscribe topic, mqtt authname, mqtt authpassword, ntpservername, ota name, ota password, ota id, weather underground key, weather underground id, web query request when setting these values in Management Server or TCP/IP Server
Fix for compiler errors when ArduinoOTA is enabled
Fix for unused variables and compiler warnings in gps.cpp
Fix declaration error for wspdgust in Weather Underground
Fix for unused variables in espnow.cpp, management_server.cpp or tcpip_server.cpp
Fix error case 07: in tcpip_server.cpp
Fix error in saving Web Query Port number
Verify code with esp32 core release 2.0.6
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
26-03-2023
Firmware update 135-02 is uploaded. under Files / Firmware
You must also upload the data sketch files are uploading the new firmware
135-02
Add Ambient Source (BME280 or MLX90614)
Add Ambient Offset
Fix for refresh of page when controller is rebooted
Fix for MQTT Stop causing a reboot
Fix for SYNC RTC to NTP in tcpip server
Rewrite reboottcp, rebootws, reboot methods
26-03-2023
I have uploaded new document PDF 135-02 and new Protocol document 135-02
Under Files / DOCUMENTATION
which explains the new features in firmware 135-02
26-03-2023
I have uploaded into Files / Enclosures zip files of photos etc showing a number of different enclosures/cases that have been shared with me.
02-April-2023
I am looking at updating the mySQM+ firmware to version 135-03 in a week or so.
As the myESP32+ new update is slotted for release, I will also post the remote examples here, which describes adding additional sensors to the myESP32DB controller and sending that sensor data to the mySQM+ controller via ESPNOW, MQTT, Web JSON interface and Web Query Get/Set
28-Sep-2023
New update for ASCOM Safety Monitor Driver.
This update provides a config tab, where the condition to use for safety can be selected from a number of choices such as cloud cover, raining, wind etc
The logic condition that generates a safe . unsafe condition is user selectable. Full source provided.
137-02 14-Oct-2023
Add localised debugging into some classes
137-01 08-Oct-2023
Add set_windirection() to work with external devices [Web Server]
Add JSON Logger Application to links page
Fix get_winddirection() helper to use latest value for WindDirection
Change layout of controller_config.h options
137-00 08-Oct-2023
Add additional defines to controller_defines.h .cpp
Align web page sizes on 16 bit boundaries
Change cloud cover percentage to double type
Change "rainfall.h" to "rainfall_external.h"
Change rainfall external to a class
Delete local debug code from MLX90614 and Windspeed External
Improve code for handling web page colors /admin10
Fix Start External Rainfall error
Fix RTC initialisation issue
Debug Server
- Add Debug Server externs to "controller_defines.h"
- Add unsigned int to debug server methods
- Delete Debug Server externs from all class files
GPS
- Delete extern declarations for Debug Server
Management Server
- Add Links page (shows links to Sourceforge)
- Add (Links)(RainBucket)(TSL2591)(Save)Navbar aids to /admin1 footer
- Add Debug Logger to Links page
- Add Heap refresh via XHTML to Management Server
- Add check for mngsrvr_state in loop()
- Delete orphaned code
- Delete unreferenced variables
- Change some method names in Management Server
- Change text on Display page
- Replace file_sys_error with send 404
Weather Underground
- Add Raining state RA and additional Sky State FEW
- Change boundaries for cloud cover to WMO standard
Web Server
- Add Heap refresh via XHTML to Web Server
- Delete orphaned code
- Delete unreferenced variables
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
mySQM Firmware Update 137-04 is being finalised for the test group. mtSQM+ Windows application update 0.0.6.6 is being finalised to be released together with the new firmware update 137-04 and the updated PDF.
I envisage that the release should be about two weeks away before general release here.
There are a lot of bug fixes and enhancements/improvements in the firmware, which cannot be done using OTA, and a lot of code changes were made to the ControllerData class, which will cause issues if you try to perform an OTA with firmware 137-04 (there are name changes for settings, so existing controller files cannot be used to restore settings). Hence a mandatory update via Serial and then uploading of the Sketch Data files. For those files, virtually every web page (for management and web servers) has been updated.
There is a big chunk of code that is now planned for the next revision after 137-04, which I do not have the time to implement for the 137-04 release. I will look to move that code chuck into another project first (probably the myFP2ESP32 project) before adding it to this project.
Regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
28-May-2024
The reason for the delay has to do with three things
Adding a different Web based OTA because Elegant OTA just hogs memory space
So I have done that.
Rewriting a lot of the Management Server code, driven by memory space issues
That I am still working on, but the outcome is some space has been freed
Lastly, there is something weird going on when the controller just seems to go to sleep (not checking awaiting tasks) and this can be up to about 6s (longest measured so far is 10s). To me it seems to be somewhere in the core. I mention this because sometimes loop is not being executed because normally loop() execution times are about 2-4ms
What is causing that I have no idea, in part because it is seemingly random. For example, accessing a web page can be done in about 20-80 milliseconds total time, and come back in 1/2 an hour and it will take 6 seconds, then try again a few minutes and it is fast again, I can create a system file on windows to random access requests for a web page at random intervals and its still the same, that is with the controller just running the Management server and nothing else enabled.
To add in something else, I see esp32 core 2.0.16 is out. The bad news so far is that with that release the response times are worse. Going back to core 2.0.11 there are less lockups and not as long.
The exception decoder only captures crashes, which are not occurring, mainly it is web page timeouts when the controller starts dreaming
Any ideas?
Regards
Robert
Last edit: brownrb 2024-05-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Currently we are using Arduino IDE 2.8.19, because there as yet no easy file upload for the filesystem (htm pages etc) avaiable.
Some of you may tried to update the arduino esp32 core to 3.0.1 or higher. If you have then you will find that many things got broken. The core change was due to ExpressIf who make the esp32, updating the version of the IDF that defines a lot of core functionality upon which the arduino core uses and is dependant upon. So when the IDF got revised to v4 and arduino core went to 3.0.0 things broke. To make things even worse, the IDF was revised again to v5 which of course the arduino core was updated to use these IDF changes once again.
A lot of the changes have to do with passing of paremeters to methods/function, changes in data type, position of argument (1st, 2nd etc in argument list) as well as the removal of some methods used to talk directly to pins.
There are known issues with the following
ESPNOW
HTTPUpdate
WiFi Clients
As yet, most are not fixed. Once they are resolved then I can move ahead with a port of the code to Arduino Core 3,x,x BUT the fixes are totally outside of my control. and I dont think these will be fixed real soon.
for Arduino IDE v3 and Arduino Core 3,x,x
Web Query and Weather Underground both use WiFiClients they are broken. ESPNOW is broken unless changes are made (no point doing that right now because updating the arduino core to 3.x.x also breaks other things IRRREMOTE is broken for IDE v3 and Arduino Core 3,x,x HTTPUpdate is broken for IDE v3 and Arduino Core 3,x,x
That leaves Arduino ESP32 Core version of 2.0.16 as the core to use
You will find the core under the users appdata folder, for me it is
C:\Users\rob\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.16
If you use the Arduino IDE v3x beware that it prompts you to update to new libraries and board managers, and if you let the IDE update them, then you end up with the latest ESP32 Core and that cannot be used to generate firmware for this project, at this time. You will have to remove the existing core and then install 2.0.16
Regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Firmware is soon, I need to remove all the extra debugging statements (like Serial.print) and update the spreadsheets of compile options.
Regards
Robert
139-03 11-Aug-2024
CUMMULATIVE FIXES FROM 137-03 TO 139-03
WARNING
Use Core version 2.0.16 for this release.
DO NOT upgrade to Arduino Core ESP32 3.x.x
3.x.x has known issues with ESPNOW, HttpUpdate and WiFiClient
GENERAL
Add bool flag to _reboot() controller
Add channel number to start_espnow() and restart_espnow()
Add defines/pagecolors_defines.h with default page colors
Add (Not defined) to web pages for settings that are not defined
Add WiFi Events to handle connection, disconnection and restart
Change MQTT and Web Pages to convert values into correct mode (Distance Mode and Temperature Mode.) If Distance Mode is set to Imperial then values are in mph and temperature is Fahrenheit, and mm are now in inches or feet.
Combine init() and start() for some classes to reduce program size
Create Option State Engine to handle non-time-sensitive states
Reduce code size by adding #if defined() to Server code, examples are OTA, NTP, MQTT, RTC etc
Remove extern references for settings that are no longer referenced
Rename ENABLEESPNOW to ESPNOW_ENABLED
Rename ENABLEGPS to GPS_ENABLED
Rename ENABLEMQTT to MQTTCLIENT
Rename ENABLENTP to NTPCLIENT
Rename ENABLEOTAUPDATE to OTATYPE
Rename ENABLERAINBUCKET to RAINBUCKET
Rename ENABLERTC to RTCTYPE
Rename ENABLESQMSERVER to SQMSERVER
Rename ENABLEWEATHERUNDERGROUND to WEATHERUNDERGROUND
Rename ENABLEWEBQUERY to WEBQUERYCLIENT
Reorder tasks between Options() and loop()
Update information on (SYSTEM)
Fix invalid references to Web Query in Weather Underground
Fix "warnings: 'DynamicJsonDocument' is deprecated"
DEBUG SERVER
Add delete to class debugserver
Fix Incorrect status for Debug Server (SYSTEM)
DISPLAYS
Add DRIVERTYPE and DISPLAYTYPE for all displays
Add stop() to Display
Add brightness tp display
Add delete to class display
Add set display brightness to TEXT display
Fix display only saving the first 3 check page options
Fix Clear and Set not working for Display
Fix Incorrect status for Display (SYSTEM)
GPS
Fix GPS truncate not truncating geo-coordinates
MANAGEMENT SERVER
Add additional pages to use when the option is not enabled
Add dynamic XHTML for elements on footer
Add footer to all pages
Add hover messages to
display page time,
mqtt publish interval,
ntp update interval,
Rain Bucket Minimum Pulse Width,
Weather underground update interval,
Wind direction offset,
Web query interval,
Wind Speed Minimum Pulse Width
Add NTP Sync Now button to NTP page
Add reboots page
Add re-direct from client page to home page after an upload sucess
Add Save-Load buttons to Cloud Model (values save in JSON as file in SPIFFS)
Add load scripts and load navbar methods
Add redirect to / for navbar methods
Change text rebootbtns to --- if server/client not defined
Delete check for new port when a Server Port is changed
Fix _navbar loading multiple times
Hide Start-Stop buttons when Servers-Services not defined in controller_config.h
Move all html defines from the Server to HTML files
Move NavBar and Footer code from admin pages to a file
Move /admin9 create page code to html file
Move /admin1 to /admin0, debug srvr, tcp/ip srvr, web srvr
Move espnow, Lock Update, OTA. SQM srvr to SERVERS-2 pg
Move Distance and Tempmode from Options to pg MISC
Standarize button height and width
When servers are disabled, replace Start-Stop buttons text with N/A or ---
Fix not enabling individual elements on the page MQTT-2
Fix WQ-WU - unable to make changes
Fix settings for TSL2591 sensor not being saved (Corrado 2024-03-03)
Fix multiple NOT_FOUND requests by client (request for favicon.ico)
Fix "On the links page, the link for mysqmweb generates an error"
Fix "warning: no return statement .... " in start_webquery()
MQTT
Delete multiple start of MQTT client
Fix MQTT Log options for SQM, enable-disable not working MQTT-2
Fix MQTT Log options for Ambient, enable-disable not working MQTT-2
Fix values not changing when Temp/Distance modes change
OTA
Create OTATYPE, ADD to controller_defines.h
Delete OTA_ID (deprecated from library ElegantOTA)
Rename ENABLEOTAUPDATE to OTATYPE
Prepare for addition of new OTA types
RAIN AND RAIN BUCKET
Fix "error" in ControllerData for Rain Bucket Name
Fix raining status (web server and windows app)
TCPIP SERVER
Change TCP/IP default port to 2020 (was 2121)
Fix issue with custom settings
WEATHER UNDERGROUND
Change Weather Underground interval time to 1-240 minutes WQ-WU (Miguel)
Fix for WU stopping web query
Rewrite all weatherundergnd code with new engine state
WEB QUERY
Rewrite all web query code with new engine state
Add timers to handle exceptions (lost connection, no reply, non-json reply)
Remove 1s delay when getting a response
WEB SERVER
Add dynamic updates for web server values /index
Add Wind average and Wind gust with Windspeed on /index
Clean html code web server Index page
Complete rewrite for building index.html page
Rename some set commands to match name useage in other places
Fix change webserver port if < 1024
Fix Controller reboot when Webserver port is changed
Fix error when WebServer is stopped - restart fails
Fix error in webserver /ntp json response (ntptimezone was missing)
Fix missing span in handling Web Server index file
Fix rain issue (different values in /index.html and Windows Application)
Fix "set" cmds for Web Server not implemented
Fix settings for custom page not applying to /index.html
Fix system uptime update not updating in Web Server
Fix values not changing when Temp/Distance modes change
Fix Webserver not restarting if stopped
WINDDIRECTION
Code changes to Winddirection class, AS5600, initialisation changed.
WINDSPEED
Fix Windspeed incorrect values generated
Deprecate WindSpeedOffsetEnable
Re-cache windspeedoffset whenever its value changes
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
26-Jan-2023
This is a major update. To reprogram the controller with 133-19 * download using the link provided belowm then configure the firmware * connect the controller using USB serial (do not use OTA) * reprogram the controller * Upload the data sketch files
When making changes to the controller_config.h file you will notice a few changes. Please refer to the new PDF document section on the firmware config for more detail.
My personal thanks again to the test test for their help without which this would not be possible, Paul, Tommy, Wolf, Gintautas, Kurt, Jairo, Stargazer, Andrew and Graham.
Regards
Robert
Document PDF 133-19. Link to PDF below
Updates include the new features, changes, Firmware Configuration, Windows Application tabs, /admin web page changes, MQTT, Web Query, Weather Underground and other changes.
There is a link to firmware release 133-19 below.
*There are a significant number of changes to firmware. *
Firmware Changes
Are found in the link below and towards the end of this post.
Windows Application 0062
Download the update for the Windows application version 0062 below. If you have an existing version previously installed, Use Control Panel to uninstall the application first. Next, Install the new Windows Application using the installer. Please refer to pdf mysqm+ version 133-19 for the changes and additions.
PDF 133-19
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20133-19.pdf/download
Protocol 034
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/
Firmware 133-19
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus%20firmware-133-19.zip/download
Firmware Changes
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus_firmware_changes.h/download
Windows Application 0062
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUSW_0_0_6_2.zip/download
List of Firmware Changes 133-19
Add defines/tsl2591_defines.h to hold tsl2591 settings
Add sqmserver port check for tcpipserver to /admin1
Add tcpipserver port check for sqmserver to /admin1
Add webserver port check for sqmserver to /admin1
Add sync rain bucket to RTC for /admin3
Add weather underground ID and Key to ControllerData
Add weather underground ID and Key to /admin10 MISC
Add weather underground settings to TCP/IP Server
Add sqm server settings to TCP/IP Server
Add check for sqm server port when changing port number for other servers
Change layout of /tsl2591 admin page
Change TSL2591 samplesize value to be in range to 1-20
Change to init_all_vars()
Change winddiroffset in controllerdata to data type int
Delete R Brown at bottom of web pages
Deprecate crossdomain (make crossdomain default)
Modify TCPIP case :07 to include espnow state, sqm server state and weather underground state
Move File List Format from MISC /admin10 to OPTIONS /admin3
Re-arrange items alphabetically /admin3
Rewrite MQTT code handler in loop()
Rewrite MQTT publish and subscribe code
Rewrite Weather Underground code, remove HTTPClient and use Web Query (huge space savings)
Fix tsl2591 admin page generating not found error when changing tsl2591 values
Fix client ip addresses on /admin1 not showing when TCPIPSERVER is not enabled
Fix Changes to TSL2591 Averging and Samplesize reverting to default values on next reboot
Fix error in TCPIP server, case 139, set web server port
Fix for Static IP
Fix for MQTT subscribe topic
sqm_server
add init_sqmserver()
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
Weather Underground
remove bool get_state(void);
remove String get_response(void);
Web Query
remove bool get_state(void);
remove String get_response(void);
Management Server
remove unsigned long _port;
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
TCPIP Server
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
Web Server
remove port as argument to start_server()
remove unsigned long get_port(void);
remove bool set_port(unsigned long);
remove private: unsigned long _port;
133-17
Fix display page option showing wrong pages
Fix Weather Underground missing reference to get_winddirection()
03-Feb-2023
I am looking at next week for the next update of firmware 134-00 which is required for a number of fixes/changes,
Hopefully that will last firmware update for a while, to give me time to finish the myesp32db update and the other projects awaiting my attention.
I would recommend that you checkout the following link
https://sourceforge.net/projects/mysqmproesp32/files/MiguelWeatherStationCase/
Miguel has provided us with a 3D printed design for a case, with all the STL files and images etc. Which is really fantastic and generous, so please, take a look and see how others are implementing and customising the mysqm+ project.
Regards
Robert
Last edit: brownrb 2023-02-03
08-Feb-2023
New PDF
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20134-01.pdf/download
New firmware 134-01
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus%20firmware-134-01.zip/download
Cheers
Robert
134-01 05-Feb-2023
Change to GPS cardinal direction code
Fix error in get_location() for Static GPS coordinates
Fix error in GPS LOC seconds time occasionally showing different seconds time to UTC value
Deprecate ArduinoOTA
Deprecate MQTT Keep alive
Deprecate print_struct_tm()
Deprecate init_otaupdate()
134-00 01-Feb-2023
Add length checks to devicename, mqtt publish topic, mqtt subscribe topic, mqtt authname, mqtt authpassword, ntpservername, ota name, ota password, ota id, weather underground key, weather underground id, web query request when setting these values in Management Server or TCP/IP Server
Fix for compiler errors when ArduinoOTA is enabled
Fix for unused variables and compiler warnings in gps.cpp
Fix declaration error for wspdgust in Weather Underground
Fix for unused variables in espnow.cpp, management_server.cpp or tcpip_server.cpp
Fix error case 07: in tcpip_server.cpp
Fix error in saving Web Query Port number
Verify code with esp32 core release 2.0.6
09-Mar-2023
Notice: Next release of firmware update is scheduled for the following week.
regards
Robert
Last edit: brownrb 2023-03-11
11-Mar-2023
Have uploaded new
PDF
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20134-01.pdf/download
Protocol 135
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Protocol%20135-01.pdf/download
Windows app 0064 for firmware 135+
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUSW_0_0_6_4.zip/download
mySQMWEB v11 by Paul
https://sourceforge.net/projects/mysqmproesp32/files/mySQMWEB/
Firmware 135-01 in a few days now
Video of new features in 135-01
https://www.youtube.com/watch?v=mG0HjlxXL2w
Apologies with sound issues
regards
Robert
17-Mar-2023
Firmware 135-01 is uploaded.
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus%20firmware-135-01.zip/download
Last edit: brownrb 2023-03-17
26-03-2023
Firmware update 135-02 is uploaded. under Files / Firmware
You must also upload the data sketch files are uploading the new firmware
135-02
Add Ambient Source (BME280 or MLX90614)
Add Ambient Offset
Fix for refresh of page when controller is rebooted
Fix for MQTT Stop causing a reboot
Fix for SYNC RTC to NTP in tcpip server
Rewrite reboottcp, rebootws, reboot methods
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus%20firmware-135-02.zip/download
regards
Robert
Last edit: brownrb 2023-03-25
26-03-2023
I have uploaded new document PDF 135-02 and new Protocol document 135-02
Under Files / DOCUMENTATION
which explains the new features in firmware 135-02
PDF
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20135-02.pdf/download
Protocol
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Protocol%20135-02.pdf/download
Regards
Robert
26-03-2023
I have uploaded into Files / Enclosures zip files of photos etc showing a number of different enclosures/cases that have been shared with me.
Regards
Robert
https://sourceforge.net/projects/mysqmproesp32/files/Enclosures/
02-April-2023
I am looking at updating the mySQM+ firmware to version 135-03 in a week or so.
As the myESP32+ new update is slotted for release, I will also post the remote examples here, which describes adding additional sensors to the myESP32DB controller and sending that sensor data to the mySQM+ controller via ESPNOW, MQTT, Web JSON interface and Web Query Get/Set
The site for myESP32DB is
https://sourceforge.net/projects/myesp-boards/files/myESP32DB/
Regards
Robert
Hi
17-April-2023
I have uploaded the following in preperation of firmware 135-03 which will be released soon.
New PDF 135-04
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20135-04.pdf/download
New Protocol Document 135-03
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Protocol%20135-03.pdf/download
New ASCOM SAFETY MONITOR
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/ASCOM%20Safety%20Monitor/
Windows Application 0_0_6_5
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUSW_0_0_6_5.zip/download
Regards
Robert
Last edit: brownrb 2023-04-16
09-Jul-2023
I am nearing the completion of the next update mySQM+ 136-04
I uploaded the new PDF today. More things will follow as time permits.
Regards
Robert
15-07-2023
I have uploaded firmware 136-04.
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/
New Linux app update 1130
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/
Regards
Robert
When programming firmware 136-04, you MUST also upload the Sketch Data files.
28-Sep-2023
New update for ASCOM Safety Monitor Driver.
This update provides a config tab, where the condition to use for safety can be selected from a number of choices such as cloud cover, raining, wind etc
The logic condition that generates a safe . unsafe condition is user selectable. Full source provided.
File is mySQMPLUS-SM-ASCOM-002.exe
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/ASCOM%20Safety%20Monitor/mySQMPLUS-SM-ASCOM-002.exe/download
Change Log
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/ASCOM%20Safety%20Monitor/mySQMPLUS-ASCOM-SM-Readme.txt/download
Source
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/ASCOM%20Safety%20Monitor/MYSQMPlusSafetyMonitor-002-src.zip/download
Regards
Robert
The pdf is being updated for firmware release 137, and details about the ASCOM SM driver are included in the new pdf (has yet to be posted).
Last edit: brownrb 2023-09-27
28-Sep-2023
New update for LINUX application, update 1140.
A number of fixes and changes
App
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/mysqmplus-linux-1140.zip/download
Changes
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/mysqmpluslt-change-log.txt/download
PDF
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/mysqmplus-linux-guide-1140.pdf/download
regards
Robert
07-Oct-2023
Debug Logger
I have uploaded the Debug Logger application that talks to the Debug Server on the mySQM+ Controller.
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/myDebugLogger/
Regards
Robert
Last edit: brownrb 2023-10-06
18-Oct-2023
Firmware update 307-02
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus%20firmware-307-02.zip/download
Regards
Robert
137-02 14-Oct-2023
Add localised debugging into some classes
137-01 08-Oct-2023
Add set_windirection() to work with external devices [Web Server]
Add JSON Logger Application to links page
Fix get_winddirection() helper to use latest value for WindDirection
Change layout of controller_config.h options
137-00 08-Oct-2023
Add additional defines to controller_defines.h .cpp
Align web page sizes on 16 bit boundaries
Change cloud cover percentage to double type
Change "rainfall.h" to "rainfall_external.h"
Change rainfall external to a class
Delete local debug code from MLX90614 and Windspeed External
Improve code for handling web page colors /admin10
Fix Start External Rainfall error
Fix RTC initialisation issue
Debug Server
- Add Debug Server externs to "controller_defines.h"
- Add unsigned int to debug server methods
- Delete Debug Server externs from all class files
GPS
- Delete extern declarations for Debug Server
Management Server
- Add Links page (shows links to Sourceforge)
- Add (Links)(RainBucket)(TSL2591)(Save)Navbar aids to /admin1 footer
- Add Debug Logger to Links page
- Add Heap refresh via XHTML to Management Server
- Add check for mngsrvr_state in loop()
- Delete orphaned code
- Delete unreferenced variables
- Change some method names in Management Server
- Change text on Display page
- Replace file_sys_error with send 404
Weather Underground
- Add Raining state RA and additional Sky State FEW
- Change boundaries for cloud cover to WMO standard
Web Server
- Add Heap refresh via XHTML to Web Server
- Delete orphaned code
- Delete unreferenced variables
08-05-2024
ADVANCE NOTICE
mySQM Firmware Update 137-04 is being finalised for the test group. mtSQM+ Windows application update 0.0.6.6 is being finalised to be released together with the new firmware update 137-04 and the updated PDF.
I envisage that the release should be about two weeks away before general release here.
There are a lot of bug fixes and enhancements/improvements in the firmware, which cannot be done using OTA, and a lot of code changes were made to the ControllerData class, which will cause issues if you try to perform an OTA with firmware 137-04 (there are name changes for settings, so existing controller files cannot be used to restore settings). Hence a mandatory update via Serial and then uploading of the Sketch Data files. For those files, virtually every web page (for management and web servers) has been updated.
There is a big chunk of code that is now planned for the next revision after 137-04, which I do not have the time to implement for the 137-04 release. I will look to move that code chuck into another project first (probably the myFP2ESP32 project) before adding it to this project.
Regards
Robert
28-May-2024
The reason for the delay has to do with three things
Adding a different Web based OTA because Elegant OTA just hogs memory space
So I have done that.
Rewriting a lot of the Management Server code, driven by memory space issues
That I am still working on, but the outcome is some space has been freed
Lastly, there is something weird going on when the controller just seems to go to sleep (not checking awaiting tasks) and this can be up to about 6s (longest measured so far is 10s). To me it seems to be somewhere in the core. I mention this because sometimes loop is not being executed because normally loop() execution times are about 2-4ms
What is causing that I have no idea, in part because it is seemingly random. For example, accessing a web page can be done in about 20-80 milliseconds total time, and come back in 1/2 an hour and it will take 6 seconds, then try again a few minutes and it is fast again, I can create a system file on windows to random access requests for a web page at random intervals and its still the same, that is with the controller just running the Management server and nothing else enabled.
To add in something else, I see esp32 core 2.0.16 is out. The bad news so far is that with that release the response times are worse. Going back to core 2.0.11 there are less lockups and not as long.
The exception decoder only captures crashes, which are not occurring, mainly it is web page timeouts when the controller starts dreaming
Any ideas?
Regards
Robert
Last edit: brownrb 2024-05-28
Hi All
Here is the latest mySQM+ User Guide version 138.
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Users-Guide-138.pdf/download
I have also updated the reference to myESP32DB (daughter board) which is version 024-1
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/myESP32DB-Users-Guide-024-1.pdf/download
There is pending Firmware 138 and Windows application update mySQMPLUSW_0_0_6_6
There is a heap of fixes and a few new features added to the Firmware for mySQM+
Regards
Robert
As stated, firmware 138 is still pending and I dont have a release date fixed except to say soon
<IMPORTANT 07-07-2024
Currently we are using Arduino IDE 2.8.19, because there as yet no easy file upload for the filesystem (htm pages etc) avaiable.
Some of you may tried to update the arduino esp32 core to 3.0.1 or higher. If you have then you will find that many things got broken. The core change was due to ExpressIf who make the esp32, updating the version of the IDF that defines a lot of core functionality upon which the arduino core uses and is dependant upon. So when the IDF got revised to v4 and arduino core went to 3.0.0 things broke. To make things even worse, the IDF was revised again to v5 which of course the arduino core was updated to use these IDF changes once again.
A lot of the changes have to do with passing of paremeters to methods/function, changes in data type, position of argument (1st, 2nd etc in argument list) as well as the removal of some methods used to talk directly to pins.
There are known issues with the following
ESPNOW
HTTPUpdate
WiFi Clients
As yet, most are not fixed. Once they are resolved then I can move ahead with a port of the code to Arduino Core 3,x,x BUT the fixes are totally outside of my control. and I dont think these will be fixed real soon.
for Arduino IDE v3 and Arduino Core 3,x,x
Web Query and Weather Underground both use WiFiClients they are broken.
ESPNOW is broken unless changes are made (no point doing that right now because updating the arduino core to 3.x.x also breaks other things
IRRREMOTE is broken for IDE v3 and Arduino Core 3,x,x
HTTPUpdate is broken for IDE v3 and Arduino Core 3,x,x
That leaves Arduino ESP32 Core version of 2.0.16 as the core to use
You will find the core under the users appdata folder, for me it is
C:\Users\rob\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.16
If you use the Arduino IDE v3x beware that it prompts you to update to new libraries and board managers, and if you let the IDE update them, then you end up with the latest ESP32 Core and that cannot be used to generate firmware for this project, at this time. You will have to remove the existing core and then install 2.0.16
Regards
Robert
02-Aug-2024
v139 mySQM+ UserGuide uploaded
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Users-Guide-139.pdf/download
Firmware 139 update is nearing release
Regards
Robert
05-Aug-20124
New Windows app v0072
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUSW_0_0_7_2.zip/download
Regards
Robert
BTW - I am in process of getting next release ready, firmware 139-02
12-Aug-2024
I am in the final stages now of firmware 139-03 release.
Regards
Robert
15-Aug-2024
New video Update 139-03
https://youtu.be/Exj6I5XbZIo
Changes below
Regards
Robert
Firmware is soon, I need to remove all the extra debugging statements (like Serial.print) and update the spreadsheets of compile options.
Regards
Robert
139-03 11-Aug-2024
CUMMULATIVE FIXES FROM 137-03 TO 139-03
WARNING
Use Core version 2.0.16 for this release.
DO NOT upgrade to Arduino Core ESP32 3.x.x
3.x.x has known issues with ESPNOW, HttpUpdate and WiFiClient
GENERAL
Add bool flag to _reboot() controller
Add channel number to start_espnow() and restart_espnow()
Add defines/pagecolors_defines.h with default page colors
Add (Not defined) to web pages for settings that are not defined
Add WiFi Events to handle connection, disconnection and restart
Change MQTT and Web Pages to convert values into correct mode (Distance Mode and Temperature Mode.) If Distance Mode is set to Imperial then values are in mph and temperature is Fahrenheit, and mm are now in inches or feet.
Combine init() and start() for some classes to reduce program size
Create Option State Engine to handle non-time-sensitive states
Reduce code size by adding #if defined() to Server code, examples are OTA, NTP, MQTT, RTC etc
Remove extern references for settings that are no longer referenced
Rename ENABLEESPNOW to ESPNOW_ENABLED
Rename ENABLEGPS to GPS_ENABLED
Rename ENABLEMQTT to MQTTCLIENT
Rename ENABLENTP to NTPCLIENT
Rename ENABLEOTAUPDATE to OTATYPE
Rename ENABLERAINBUCKET to RAINBUCKET
Rename ENABLERTC to RTCTYPE
Rename ENABLESQMSERVER to SQMSERVER
Rename ENABLEWEATHERUNDERGROUND to WEATHERUNDERGROUND
Rename ENABLEWEBQUERY to WEBQUERYCLIENT
Reorder tasks between Options() and loop()
Update information on (SYSTEM)
Fix invalid references to Web Query in Weather Underground
Fix "warnings: 'DynamicJsonDocument' is deprecated"
DEBUG SERVER
Add delete to class debugserver
Fix Incorrect status for Debug Server (SYSTEM)
DISPLAYS
Add DRIVERTYPE and DISPLAYTYPE for all displays
Add stop() to Display
Add brightness tp display
Add delete to class display
Add set display brightness to TEXT display
Fix display only saving the first 3 check page options
Fix Clear and Set not working for Display
Fix Incorrect status for Display (SYSTEM)
GPS
Fix GPS truncate not truncating geo-coordinates
MANAGEMENT SERVER
Add additional pages to use when the option is not enabled
Add dynamic XHTML for elements on footer
Add footer to all pages
Add hover messages to
display page time,
mqtt publish interval,
ntp update interval,
Rain Bucket Minimum Pulse Width,
Weather underground update interval,
Wind direction offset,
Web query interval,
Wind Speed Minimum Pulse Width
Add NTP Sync Now button to NTP page
Add reboots page
Add re-direct from client page to home page after an upload sucess
Add Save-Load buttons to Cloud Model (values save in JSON as file in SPIFFS)
Add load scripts and load navbar methods
Add redirect to / for navbar methods
Change text rebootbtns to --- if server/client not defined
Delete check for new port when a Server Port is changed
Fix _navbar loading multiple times
Hide Start-Stop buttons when Servers-Services not defined in controller_config.h
Move all html defines from the Server to HTML files
Move NavBar and Footer code from admin pages to a file
Move /admin9 create page code to html file
Move /admin1 to /admin0, debug srvr, tcp/ip srvr, web srvr
Move espnow, Lock Update, OTA. SQM srvr to SERVERS-2 pg
Move Distance and Tempmode from Options to pg MISC
Standarize button height and width
When servers are disabled, replace Start-Stop buttons text with N/A or ---
Fix not enabling individual elements on the page MQTT-2
Fix WQ-WU - unable to make changes
Fix settings for TSL2591 sensor not being saved (Corrado 2024-03-03)
Fix multiple NOT_FOUND requests by client (request for favicon.ico)
Fix "On the links page, the link for mysqmweb generates an error"
Fix "warning: no return statement .... " in start_webquery()
MQTT
Delete multiple start of MQTT client
Fix MQTT Log options for SQM, enable-disable not working MQTT-2
Fix MQTT Log options for Ambient, enable-disable not working MQTT-2
Fix values not changing when Temp/Distance modes change
OTA
Create OTATYPE, ADD to controller_defines.h
Delete OTA_ID (deprecated from library ElegantOTA)
Rename ENABLEOTAUPDATE to OTATYPE
Prepare for addition of new OTA types
RAIN AND RAIN BUCKET
Fix "error" in ControllerData for Rain Bucket Name
Fix raining status (web server and windows app)
TCPIP SERVER
Change TCP/IP default port to 2020 (was 2121)
Fix issue with custom settings
WEATHER UNDERGROUND
Change Weather Underground interval time to 1-240 minutes WQ-WU (Miguel)
Fix for WU stopping web query
Rewrite all weatherundergnd code with new engine state
WEB QUERY
Rewrite all web query code with new engine state
Add timers to handle exceptions (lost connection, no reply, non-json reply)
Remove 1s delay when getting a response
WEB SERVER
Add dynamic updates for web server values /index
Add Wind average and Wind gust with Windspeed on /index
Clean html code web server Index page
Complete rewrite for building index.html page
Rename some set commands to match name useage in other places
Fix change webserver port if < 1024
Fix Controller reboot when Webserver port is changed
Fix error when WebServer is stopped - restart fails
Fix error in webserver /ntp json response (ntptimezone was missing)
Fix missing span in handling Web Server index file
Fix rain issue (different values in /index.html and Windows Application)
Fix "set" cmds for Web Server not implemented
Fix settings for custom page not applying to /index.html
Fix system uptime update not updating in Web Server
Fix values not changing when Temp/Distance modes change
Fix Webserver not restarting if stopped
WINDDIRECTION
Code changes to Winddirection class, AS5600, initialisation changed.
WINDSPEED
Fix Windspeed incorrect values generated
Deprecate WindSpeedOffsetEnable
Re-cache windspeedoffset whenever its value changes