Skip to content

@LowPowerLab LowPowerLab released this Nov 13, 2020


Update package.json
Assets 2

@LowPowerLab LowPowerLab released this Apr 20, 2020

The most important change is the way metrics are now organized into the new metrics folder and broken down into modules.

Many other improvements, all documented in this blog release.

Assets 2

@LowPowerLab LowPowerLab released this Apr 16, 2020

9.1.0 BETA

Assets 2

@LowPowerLab LowPowerLab released this Apr 15, 2020

Please see the release notes for 9.0 for new features what has changed.

Assets 2

@LowPowerLab LowPowerLab released this Aug 1, 2018

Fixed error and Buffer() use - replaced with Buffer.alloc() in logUtil.js

Assets 2

@LowPowerLab LowPowerLab released this Jul 31, 2018

This is a NodeJS and node packages update

The setup script is changed to install the latest nodeJS version regardless of the Pi version, tested on Pi3/B+ with RASPBIAN STRETCH LITE (v. June 27, 2018).
To install from a fresh image just run the setup script as shown in the Guide.

If you update from a previous version, make sure to backup your Pi before you update.
You may manually replace the changed files and then restart from the web UI or by running:

  • restart app ( sudo systemctl restart gateway )

Changed files:

  • gateway.js - required changes for serialport
  • package.json - various packages updated
  • www/ - (client update to latest 2.1.1)
  • .setup/
Assets 2

@LowPowerLab LowPowerLab released this Sep 5, 2017

This is a feature and misc bug fixes release.

If you update from a previous version, make sure to backup your Pi before you update.
This update will require 2 main manual actions from your part (if updating):

  • run npm install (should install new suncalc package)
  • restart app ( sudo systemctl restart gateway )

Changed files:

  • gateway.js
  • metrics.js
  • settings.json5 (requires manual migration of your own settings)
  • package.json ( run npm install for new suncalc package )
  • www\images\icon_template.cdr - added battery icon
  • lowbattery.png warning icon
  • www\index.html (main UI front end)

Main new features:

  • Node/overridable settings

If you'd like a particular global setting (from settings.json5) to be overridable in a node (for instance minimum voltage for battery powered nodes) you can now do so in metrics.js by using the new settings section under exports.motes, note that the included settings must match the name in settings.json5 or they will be ignored. Example from exports.motes.MotionMote:

Then on nodes of that type, the setting can now be set a custom value:

  • Wifi RadioThermostat CT50 IP setting support

Specific code for the CT50 was updated to support a new IP setting in the UI. This allows the user to override and set the IP of a thermostat on the node page, thus enabling having multiple thermostats with different IPs in the app:

  • New settings types

This enables more user friendly settings. Supported types are jQuery mobile HTML5 defaults, and examples of how to use these are found in the settings.json5 file:

  • checkbox - for true/false settings
  • number
  • email
  • password - obsoletes setting.password:true/false
  • range - min, max
  • default (no type) is text

A few examples using new types:

  • email attachments

The sendEmail function in gateway.js has a new parameter where you can pass the URL of an attachment to include in sent emails: global.sendEmail = function(SUBJECT, BODY, **ATTACHMENTS**)
Example email with attachment:

  • Scheduled events time remaining & datetime

Scheduled events now show time remaining until they will run, and the datetime when that happens

  • Sunset/sunrise API for events

Based on suncalc, this node API allows creating events that run at various times during the day based on calculation of the sun position. A few examples are:

  • sunrise
  • sunset
  • solarNoon
  • goldenHour
  • dusk
  • dawn

To calculate these events, the latitude/longitude coordinates can be provided on the general settings page:

UI changes / new features:

  • Ctrl+ALT+Shift+R keyboard shortcut

Requests the gateway app to restart

  • New All Events page which shows all scheduled and disabled events:


  • Modified menu:

    • removed the Exit item (redundant), added app version:
  • RSSI is a metric and logged/graphed by default:


  • Low battery voltage

    • warning icon now blinks in/out over the node icon:

Other / MISC:

  • clean up of cryptic SMS messages when they included custom labeling, ie. ability to add another set of {} brackets around text that should not be included in SMS messages:
    Result is a clear SMS message:
  • autoscaleTop/autoscaleBottom option for flot graphs. This is a special option to allow graphs to scale down from min/max values. The original autoscale option did this for both top/bottom of the graph. With the new autoscaleTop/autoscaleBottom options, you can specific this to be done only at the top or bottom, see metrics.js file for the V metric definition example
Assets 2

@LowPowerLab LowPowerLab released this Apr 18, 2017

New features

  • Export all node data (csv):

  • Datepicker support for export date range popup:

  • Add "excel timestamp" columns in CSV exports. You can now open the CSV in excel and simply format the column as date-time and that column will display each datapoint time.

  • New SMS limit setting - an SMS will only be repeated after this many milliseconds. Helps to limit repeats for things like repeated motion or alerts:

  • Settings description + tooltips:

  • Moved "Restart App" in main menu

  • Moved "Uptime" status after main menu

Other changes and fixes

  • Settings page listview trigger create bug fix
  • Added _example.js event override sample
  • Fixed titles
  • Fixed AM/PM bug in SMS messages
  • Updated exports.timeoutOffset function
  • Setup script mkdir /data/db so pi would chown it
Assets 2

@LowPowerLab LowPowerLab released this Nov 2, 2016

Main changed files: www\index.html, gateway.js, metrics.js, package.json, removed gateway_NeDB-2-Binary.js, added userMetrics\, added userMetrics_example.js

IMPORTANT NEW REQUIREMENT: merge nodejs package (get latest packages.json and run npm update in your gateway directory to install it). This is required for the main new feature (user metrics)

  • user metrics folder, allows you to move your own custom metrics in a place where they don't mingle with the defaults in metrics.js, you can also override/change the existing defaults or add new ones, see README in userMetrics folder for details. You can customize a default metric by copying it from metrics.js, beautify it with jsBeautifier then paste it in your own userMetrics/yourNewMetric.js file. For changes to take effect the app needs to be restarted at this point. Here's how to use jsBeautifier:
  • updated nedb to 1.8, json5 to 0.5, request to 2.75, console-stamp to 0.2.4
  • removed old neDB upgrade script (gateway_NeDB-2-Binary.js)
  • (total log disk space / visible data disk space) in graph status:
  • server uptime on terminal page:
  • added support for flot curvedLines. Please note this will result in many interpolation points injected in the graph by this plugin, these are not part of the original logged data and the graph stat will still reflect the number of points used to generate the visible graph. The userMetrics/_example.js "H" metric illustrates how to use it. Graph results in a smoother curve rather than stepped values:
Assets 2

@LowPowerLab LowPowerLab released this Oct 18, 2016

Changed files: www\index.html, gateway.js, metrics.js, logUtil.js

  • Voltage logging/graphing by default
  • metric logging is done only if data value is different than last logged value or enough time has passed (1h)
  • fixed UI bug with graph DIV showing on non graphed metrics
  • added ability to override graph Yaxis min/max/autoscaleMargin in metrics definitions
  • other minor adjustments
Assets 2