@LowPowerLab LowPowerLab released this Sep 5, 2017 · 19 commits to master since this release

Assets 2

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:

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

  • 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:
image

  • 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:
image

  • 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:
image

  • Scheduled events time remaining & datetime

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

  • 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:
image

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:

image

  • Modified menu:

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

image
image

  • Low battery voltage

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

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:
    image
    Result is a clear SMS message:
    image
  • 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