Skip to content

@LowPowerLab LowPowerLab released this Aug 1, 2018 · 14 commits to master since this release

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

Assets 2

@LowPowerLab LowPowerLab released this Jul 31, 2018 · 16 commits to master since this release

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/socket.io/socket.io.js - (client update to latest 2.1.1)
  • .setup/gatewaysetup.sh
Assets 2

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

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
Assets 2

@LowPowerLab LowPowerLab released this Apr 18, 2017 · 36 commits to master since this release

New features

  • Export all node data (csv):
    image

  • Datepicker support for export date range popup:
    image

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

  • Settings description + tooltips:
    image

  • Moved "Restart App" in main menu

  • Moved "Uptime" status after main menu
    image

Other changes and fixes

  • Settings page listview trigger create bug fix
  • Added _example.js event override sample
  • Fixed README.md 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 · 46 commits to master since this release

Main changed files: www\index.html, gateway.js, metrics.js, package.json, removed gateway_NeDB-2-Binary.js, added userMetrics\README.md, 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:
    image
  • 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:
    image
  • server uptime on terminal page:
    image
  • 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:
    image
Assets 2

@LowPowerLab LowPowerLab released this Oct 18, 2016 · 49 commits to master since this release

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

@LowPowerLab LowPowerLab released this Oct 7, 2016 · 50 commits to master since this release

This version consists only of changes in index.html.

  • More small-screen friendly and responsive layout (no more label/bubble overlaps). On small screens the node value bubbles will shift down under the node labels:
    image
  • Top menu buttons collapsed in 1 MENU button that slides menu from the side:
    image
  • Show Metric values in Node labels via {MetricLabel} token:
    image
  • Show Node icon in Node edit screen, next to the edit fields, wrapped in a nicer responsive div layout:
    image
  • Hidden nodes show in light red when visible:
    image
  • Graph x-axis scaled correctly when incoming data is plotted.
    This was more of a visual bug, obvious when all data in a view was clustered on the right, and a new point coming in live would remove the first visible node and cut the graph visible Xaxis up to the next visible node. Now when a new point is plotted the graph visible window will slide proportionally to the selected window of visible time.
Assets 2

@LowPowerLab LowPowerLab released this Aug 2, 2016 · 52 commits to master since this release

Video overview of changes

https://www.youtube.com/watch?v=V7BqSvGy4cQ

New settings:

  • serial baud is now 19200 (old: 115200)
  • keepFilesOnDelete - default false, ensures the binary log files are removed when node/metrics are removed
  • graphMaxPoints - graph resolution (total points displayed)

image

New features

List reordering (desktop) - drag & drop nodes to reorder list & broadcast to all clients

image

Graph legend div reformat + count of total raw data points that produced a graph:

Exporting raw data in graph selected time window to CSV file:
image

Fixes

  • Server-client time offset fixed - client is now aligned to server time
Assets 2

@LowPowerLab LowPowerLab released this Mar 3, 2016 · 58 commits to master since this release

  • Graph load improvements (use sequential disk loading rather than binary search when graph has few data points)
  • jquery 1.12.1 upgrade
  • sorting bug fix when deleting node from UI
Assets 2
Feb 17, 2016
You can’t perform that action at this time.