Monthly Archives: November 2021

Kootnet Sensors Graphing

I’m decently satisfied with Kootnet Sensor’s Live Graphs now. I added a few new features, for one, you can set how many data points are plotted before it starts to remove old readings. This gives it a “scrolling effect” once you hit the max data points. It also helps with performance and viewing clarity. I also added a “Performance Mode” to disable animations, and later on, other performance-enhancing tweaks.

Database Graphing (Plotly) is now being used for Graph emails and a configuration for Database Graphing has been created. Email Graphs uses its own copy of the configuration so you can have different settings for general graphing and email graphs. It even works if you select an MQTT sensor for graphing instead of the local sensor.

I’m kinda thinking of making the next release version 1.0.0. Additional planned changes are more enhancements to existing sections, so I think the base is pretty stable now. I’ll see how it goes and do some more testing and decide later on.

That’s it for now, check out the new Live graphing, it’s pretty sweet!

Kootnet Sensors Live Graphing!

Some exciting news, Kootnet Sensors now has Live Graphing! This has been something I wanted to add since I first moved to a web-based app, however, I had trouble with the JavaScript syntax using Charts.js. Now that I have done more work with JavaScript, HTML and CSS, I finally figured it out and got it working!

By default, live graphs are set to graph the local sensor but I have added options to allow it to graph remote sensors too! Options include

  • Select which sensors to graph
  • How many sensor graphs are displayed per row
  • Update Interval in seconds
  • Sensor address (leaving this blank will graph the local sensor)
  • Disable SSL Verification, which is needed when graphing remote sensors that have a self-signed SSL certificate or if you are using an IP address.

Another neat ability with Live Graphing is you can open up multiple windows to view different sensors (So long as Disable SSL Verification is not enabled).

I am still finishing up work on Live Graphing but expect a new developmental release by the end of the week.

More updates!

More changes to Kootnet Sensors as of Beta.35.20. Here’s a quick list.

  • BugFixes
    • Sense HAT joystick service runs properly now (was continually “crashing”)
    • Datetime conversions work properly now (based on UTC offset)
    • Updates to version numbers that add up to only 9 characters works correctly
  • Ban IP from logging in temporarily when 10 or more logins are unsuccessful within an hour
  • MQTT Subscriber & Checkins Server pages that contain a list of their sensors, is now generated by button and in the background
  • When Demo mode is enabled, logins are no longer required (but most system commands are disabled)
  • Updated install package to work with Debian Bullseye & Python 3.9
  • Replacing sensor databases now verifies the uploaded database is of the correct type
  • Other minor changes and updates

Kootnet Sensors

The update system is now good to go! All HTTP updates are downloaded through HTTPS and do MD5 checks to make sure the download is okay.

I have created a URLs configuration where you can adjust the server address for program updates & the sensor check-in server if you ever want to configure your own servers.

I have added a system-wide alias to start up Kootnet Sensors Terminal Configuration Tool from the command prompt, which is ‘ks-tct’ without the quotes. by default, it runs using the python virtual environment meant for upgrades, because of this, you should be able to use the TCT even when there’s something wrong with the main virtual environment or program (such as missing python modules, which you can re-install with ks-tct).

The Login system has been completely overhauled. I’m using sessions with flask now, and when someone logs in successfully, a login ID is given (randomly generated SHA256). Due to this change, Remote Management is no longer compatible with previous versions (at least not for parts that require authentication). So I have bumped the version to Beta.35.x. This is also good since the username/password has to be reset due to a change in how user/passwords are saved (changed previously).

Other things that have been changed include

  • Seperated sensor offsets to it’s own configuration (only environmental temperature, more to come later)
  • Threaded initial cached variables update (HTTPS server loads much quicker)
  • Instructions and file checks added for changing update server URL
  • Refactoring to remove the need of some 3rd party Python modules (Flask-HTTPAuth, dateutil)
  • Code Clean-up

That’s it for now. You can try it out by updating to the latest beta version.