MySensorsTracker - a simple logger for MySensors MQTT messages
I needed a simple tool for keeping track of all the MySensors nodes which I had built and deployed around the house over the years:
- what is the battery level of each sensor node?
- what was the last time I changed the battery on that sensor node, i.e. how many months has it been running with the current battery?
- see at a glance if a sensor has crashed, i.e. has not sent any messages for, say, more than a day
- is a sensor node sending strange messages?
This is implemented as a Python script running on a server, with a web-based interface for browsing and filtering messages.
Source code and documentation in Github
Here are a few screenshots:
skywatch last edited by
@canyouhearmenow That looks practical and useful - well done!
CrankyCoder last edited by
has anyone thrown this in a docker yet?
evb last edited by
@canyouhearmenow I've adapted your script to support authentication and SSL connection. See my pull request
Meanwhile, I see in your printscreens, API, version, battery changed, etc.
Is this data filled in via your sketches? Are the nodes sending this information? Via the presentation?
@evb Thanks for your contribution, I will look at your pull request as soon as I can!
I have adopted a convention for my sketches where they all report the project name and subversion revision number. In the
presentation()function, I have a line like
sendSketchInfo("MyWindowSensor", "$Rev: 1267 $" );
The API version is sent by the MySensors framework automatically.
The date of the last battery change I have to enter manually (Nodes screen, popup menu item "battery replaced" when you hover over the node number).
evb last edited by evb
@canyouhearmenow I didn't see my version of the sketch, but then I saw that the column sk_version was commented out.
I added again this missing column. I don't use revision, only version.
I saw also that the api_version of my repeaters were not reported. I added support for this to the code.
The sqlite db is filling up with all these mqtt messages.
Do you clean up this after some time?
Great work, thanks for putting it online
@evb Still haven't had a chance to look at your PR, sorry.
Yes, the database tends to grow I have about 80MB after a year of use. Just added a function to delete all messages older than, say, a year.