Monthly Archives: June 2020

Changes to the installer

Due to someone having issues with the installer, I have decided to include a base version of all the required Python modules in pip wheel form. From what I could gather from the logs, one or more Python modules were missing or broken. The cause of this was most likely a bad network connection or temporarily broken modules or even just the pip servers being overloaded. Whatever the case, having all the required modules included in the installer should ensure a smoother installation experience. After adding in all the module wheels, and a few duplicates for the different pi platforms (armv6 / armv7), the size of the installer went from 1.2 MB to 45.7 MB. Probably for the best, considering those modules had to be downloaded anyway.

There are a few other nice benifits to including the modules as well, such as.

  • Faster install times, especially on the Pi Zero
  • So long as the apt-get requirements are meet, offline Installs should be possible (I still need to test it)
  • The install won’t break if there are bugs in the most current Python Modules or if the internet connection cuts out after getting the system (apt-get) requirements

There are a few downsides, such as the size I mentioned but also the fact you’ll be starting off with older modules that could include bugs or security holes. I already have the ability to update to the latest modules in the program itself (with the click of a button under Advanced), but I’m wondering if I should do something more…

I have finally found an HTML template for documentation I like, so I have started to fill in the blanks and customize the layout. I’m building the document directly into the program itself, so you can easily access it when trying out the sensor software. Once the document is closer to completion, I will also add it to my website, so people can view it for the installation instructions and troubleshooting.

On another note, I have a request to support another sensor, this makes 2 new sensor requests so far. Thanks to the Python Module I found to add support, I’m also automatically getting support for a bunch of similar sensors which include the DS18S20, DS1822, DS18B20, DS28EA00 & DS1825/MAX31850K. Support has been added but I don’t have the sensor in question to test it. I’m hoping the person will see the post/response and try it out and let me know.

Let’s see what else has been done… O yeah, I added configuration options for both the Sensor Checkin server & the Sensor Checkin itself. For the Checkin, you can enable, disable and change the URL it uses to Checkin. For the Checkin server, you can enable, disable and customize the view options. I have also added more features such as the database clean-up section to clear old data, remove sensors and shrink the database.

Right now I’m filling in the Documentation and adding a High/Low trigger recording section. That will probably take a week or two, then maybe I’ll re-organize the Installed Sensors section to have a tabbed layout per sensor company.

Beta.30.190 Released

It’s out! Fancy MQTT support and all. Time to work on the next set of enhancements.


I keep finding minor bugs or adjustments I want to make when I test things… but only like one at a time and for small things, like logging. So that means I should be close to putting it into the stable channel.

I added a integrity check to the databases on load and upgrade (quick on load, full on upgrades). Although I’m pretty sure it doesn’t actually “fix” anything, it will notify of any issues that need closer inspection.

I think I’ll do one more test, and assuming I don’t find anything, I’ll call Beta.30.x done. I’m looking forward to seeing how many sensors are being used out there and getting some logs to help find bugs.

Hopefully a new release by tonight!

Beta.30.x is almost ready

I have been spending the last few days finding bugs and security issues then fixing them. For instance, I should now have properly “sanitized” SQL queries, by using the SQLite3 replacement of variables function. Due to this I no longer require my notes to be sanatized before going into the SQL database. If notes where used prior to version Beta.30.x, they may require some re-formatting.

I have now added particulate matter 4 to the supported sensor types. Only the Sensirion-SPS30 supports it so far but hopefully other sensors will add a wider range of detection that I can support.

This will be the first release that sends back information to help identify issues I might not find during my tests. It sends a randomly generated 32 character string (to identify unique sensors), the version, uptime and the last 40 or so lines of 2 of the 3 program logs (Primary and Sensors logs). I left out the Network log due to possible privacy concerns over IP’s being logged, however, I’ll set up a section that will allow changes to the Check-in URL as well as the ability to select which logs to include, with the default setting excluding the Network logs. Once that’s done, I’ll do a bit more testing and then release it into the stable channel.