Kootnet Network Testers

Now that Kootnet Sensors has its new interface I have turned my attention to the Network Testers and added the ability to run SpeedTest.net to find your Internet speeds courtesy of SpeedTest-CLI. I don’t have options in place yet, so it auto picks a server with the best ping times and runs. It works on the E-Ink display and the web interface. Upgrade to the latest developmental version to try it out. I’ll tweak it more as time goes on.

I’m also considering upgrading the web interface of Kootnet Network Testers as I did with Kootnet Sensors… It’s just so time-consuming… took me 2 months to get Kootnet Sensors’ new interface ‘done’. Maybe I will make a poll on the Raspberry Pi forums.

That’s it for today’s update.

New Kootnet Sensors Version in Stable

I have now poked around and tested most of the program, and it’s been working smoothly.
So Kootnet Sensors Beta.33.69 is out! Please note that this upgrade will reset your MQTT Publisher configuration.

As mentioned in previous posts, this version is 90% about overhauling the Web Interface.
Other modifcations include MQTT Publisher improvements, updated security options under email SMTP settings and the ability to view a list of all sensors in the MQTT Subscriber database.

I’m going to wait a bit before I start on Beta.34.x to fix any lingering bugs and re-do the help documentation and program tests. I’m also going to shift over to my Network Testers and add a bit more functionality to it.

So please, upgrade, try it out and report any bugs to the GitHub page or you can also post it here or on my Raspberry Pi form post.

I hope everyone enjoys the new interface!

Interface progress update

I’m getting close to releasing a new version of Kootnet Sensors! 90% of the changes in this release are around the new Web Interface. As of today, it has been 2 months since I started creating the new Interface. Everything is done but I want to do some more testing before releasing it. So hopefully in the next few days, it will be put into the stable channel.

Soon! … soon…

New Interface progress

So I’m making decent progress on the new interface, but it’s definitely taking longer than a month, at least 2 I’m guessing.

I have now finished the Remote Management, Graphing and most of the notification system. Right now I’m working on re-doing the reports generation to match the new look. I have also removed most of the old Interface from the program.

I suppose I should update documentation before a release as well… which will take a bit of time too.

That’s it for todays update. Still working on it, it’s just taking a bit longer then I thought.

Kootnet Sensors Interface Progress

I now have all the pages working on the new interface except for Graphing and Remote Management.

The next step, after finishing Graphing, Remote Management and the notification system, will be to look over the interface as a whole and tweak things to be more consistent and adjust a few minor things, like the size of text and number fields.

I’m also thinking I’ll remove the old interface altogether, as it’s adding a decent amount of bulk to the overall program.

I have not had as much time as I would have liked to work on it, but progress is continuing! Very little back-end work has been done since the last stable release, so it’s safe to upgrade to dev and check out the interface progress.

Kootnet Sensors Web Interface

Since Kootnet Sensors has a decent amount of functionality, I thought it was time to re-visit the web interface itself. When I first made it, I really didn’t know much about site design and it shows, both visually and in the code. So now I’m remaking it for a more modern look.

After looking around for a template to use, I decided on AT Pro Admin, which is an MIT licensed template that uses pure HTML, CSS and JS. It’s small in size, quick to load and has a sweet dark/light theme toggle. It also comes with and uses Font Awesome, which I have not heard of before but I am super glad I have now! It’s loaded with very professional icons for pretty much everything. I’m going to buy the pro version to support them, even if I’m not actually going to use any pro icons.

I have already customized the template layout and added a few pages. It’s looking pretty sweet so far. I have also found a way to only load the main page once, then when clicking links, it only loads those specific pages inside the main interface. I can already notice the load time differences compared with my old interface. I’m trying to limit the required webpage plugins to keep download size low and speed high.

I’m actually not sure how long it will take to do the web interface overhaul (month?) but I have a link to both the old and new interface on the index page, so if you upgrade to the dev version, you can check it out without worrying about losing access to settings and pages. So far the layout is pretty much done the main dashboard page work along with live sensor readings and notes. I still have to customize the notes section a bit too.

So feel free to check out the latest dev version to get a sneak preview. Once I have the interface mostly done, I’ll probably replace the “Quick Graph” section with “Live Graphs” to constantly update graphs based on local or remote sensor readings. I have been having trouble getting the graph to actually graph updates, but I have already figured out how to get javascript to add new readings.

I’ll try and update the blog when I’m getting closer to completing the new interface.

Kootnet Sensors Ver. Beta.32.x in Stable!

I have been doing a bit of testing today, and so far, things are working great, especially around graphing through the MQTT Subscriber database (AKA using recorded data from remote sensors). New and upgrade installs have been tested and seem good as well.

So out with Beta.32.64 as the new Stable version!

Be sure to check out the improved MQTT Publisher & Subscriber as both have been enhanced decently. There’s a good chance you’ll be able to configure MQTT Publisher to send your readings to almost any sensor collecting website that supports MQTT.

If anyone is trying it, let me know if you come across any bugs!

Find installers here or if you are already using Kootnet Sensors, goto the advanced section and upgrade to the latest stable version.

P.S. Please note, due to changes to the MQTT Publisher system, your MQTT Publisher configuration will be reset to defaults.

Kootnet Sensors finishing touches and optimizations

Development version Beta.32.x is getting closer to being ready for the Stable channel. I have added some final touches around the MQTT Publisher, such as fixing some things around changing settings and adding a page to view the replacement variables for a custom string.

I have also gone through a bunch of my SQLite database code and optimized it for performance and clarity. Two particular places of improvement are the Notes section and the Sensor Checkins page, both have a significant boost in performance.

Last but maybe not least, I updated the documentation, but not the pictures in it yet … I wonder if I should bother with pictures… it’s a pretty big time hole to get new screenshots, so maybe I’ll remove pictures from a few sections.

Anywho, I’ll probably be doing testing for the most part then out with the new release!

More MQTT Updates

I have revisited the MQTT Publisher and Subscriber again. I have created 3 different “types” or “ways” to send data through MQTT Publisher. The 3 types are as follows

  1. Kootnet Sensor Format – Send a dictionary of all selected and available readings. Each index of the dictionary is specific to Kootnet Sensors database column names and used when writing data to the MQTT Subscriber SQLite database.
  2. Topic Per Sensor – This sends each sensor reading to a specific topic, including readings with multiple variables, such as the accelerometer. So there is a separate topic for accelerometer X, Y and Z for example.
  3. Custom Single String – A text string is provided by the user, of which, specially formated text inside it is replaced with actual sensor values, then sent to the base MQTT topic.

Type 1 and 2 are fairly straight forward, but type 3 deserves a bit more explination. Here is an example of a custom string.

{“DeviceID”: {{ SystemHostName }}, “Temperature”: {{ EnvTemp }}, “Humidity”: {{ Humidity }}}

In this example, a JSON (or Python dictionary) string is sent. However, all text with {{ Something }} is replaced with actual values. So if this was to be sent, it might look like this to the MQTT broker.

{“DeviceID”: MySensorName, “Temperature”: 45.23, “Humidity”: 22.5}

There will be a link above the MQTT Custom string text area to give a list of all the available text that gets replaced by sensor data. Using the MQTT Publisher custom string should allow Kootnet Sensors to work with almost all MQTT brokers being used for sensor readings collection. The MQTT Subscriber has also been updated to work with the new Publisher send types.

I also did some other misc. updates and fixes to things like Plotly graphing and the GUI test program. I need to work on updating the documentation, doing some more tests then I’ll release it to the Stable channel. After that, I kinda want to do some courses on web design, specifically HTML, CSS and javascript. I’m hoping to not only make the web interface look better, but I also want to cut down on the required 3rd party scripts to improve load time and data transmission. It’s also fairly messy… so cleaning it up would be a bounus.

This new version is in the Dev channel and seems stable, so it should be safe to try out, just be warned, the MQTT Publisher configuration gets reset on this upgrade.

Kootnet Sensors Updates

I have made a few updates to Kootnet Sensors now. Here’s the short list.

  • Created new index.html (main web page) – It’s now a very simple page
    • Does not require any special scripts
    • Contains quick basic info
      • Sensor ID
      • Version
      • Hostname
      • Local IP
      • Disk Space check
      • Sensor’s date/time in UTC0 and with its local TimeZone
      • Link to Main Web Interface
  • Added SQLite3 Database Management Page
    • View information on Main/MQTT/Sensors Checkin Databases
    • Download Main/MQTT/Sensors Checkin databases
    • Download or Delete backups of the Main Database
    • Upload Databases
      • Replace Main/MQTT/Sensors Checkin databases
        • Replacing the Main database creates a zipped backup of the old one
      • Upload Custom databases for Graphing
    • Manage Custom Databases
      • Rename, Delete or Shrink (Vacuum) Databases
  • Updated Graphing to work with other Databases
    • Can now graph Main or MQTT Databases
    • Can graph Custom uploaded databases (Main or MQTT)
  • Create and Manage multiple IP lists in Remote Management
  • Added /robots.txt route to discourage web crawlers when set to port 80
  • Created an “Online” installer that’s only 1.4MB compared to the Offline installer at 44.5MB. The Online installer is now used when upgrading.
  • Bunch of refactoring

Things appear to be working well, so I have uploaded it into the Dev channel and it’s probably safe to try out. I’ll be running more tests in a few days and then I might release it into the Stable channel.