Hello hive minds,
I have cut a new release of reef-pi, 1.5. This is one of the largest release by sheer amount of code change that went in since 1.4 release. 1.5 release contains several key changes that we need for 2.0 release without breaking any existing features significantly (more on that shortly).
Major highlights of release 1.5 is
- Introduction of a customizable dashboard. From 1.5 onwards users will be able to configure the reef-pi dashboard, in terms of the charts grid (how many rows and columns) and height width of individual charts. A new "dashboard" section under "Configuration" tab let's user specify the grid , individual chart width & height and contains of the grid. This will allow users to build dashboard specific to the features they are using, the charts order and dimensions to fit in the primary device they are using to view the charts (tablets, laptop , phone etc). For example a temperature only controller can configure reef-pi to show only 1x1 grid (i.e. only one chart) that fits in the entire screen (say 1200px width and 800px height). This is a key features that was required for 2.0 functionalities (multiple ato and temperature sensor), which will make the older dashboard unusable (since it assume only one temperature or ato sensor)
- A new connector type named "inlet" has been introduced. This connector will denote all digital inputs like ato sensor, tactile buttons, leak detectors etc. As of now its not being used by any of the existing sub-system. In future I plan to integrate the ATO system (which currently uses raw GPIO number as sensor pin). This was another required feature to support multiple ato sensor. We'll use "inlets" for implementing leak detector or a generic purpose `if this happens then do that` style sub-system, that users can leverage to automate leak detectors, door switches (automatically turning on cabinet light when door is open etc) type inputs
- The "jack" connector has been rewritten to support both pca9685 as well as rpi based pwm output. This is a strategic work for reef-pi, which comes at a cost. Historically reef-pi used only pca9685 to generate pwm output. Since last February, Raspberry Pi exposed the two hardware time (pwm) from its processor, which we can use now. To accommodate this (let users use Pi instead of PCA9685 based pwm output) the "jack" logic has been rewritten. User can now specify the driver type (rpi or pca9685) while creating a jack, other than specifying the pin numbers. One benefit of this feature is if you are building a kessil controller or two part doser, then you only need two pwm output, which pi can provide. This will save 12$ and some space in housing , since user will not need the pca9685 chip. One bad side effect of this work is if you are using pwm on older reef-pi installation, they wont work after update. Users have to recreate the jacks and light in 1.5 (take a screenshot of your settings before your upgrade)
- We have a favicon now
. Its a tiny icon consist of two greek letter, r and pi that can be observed on brower tabs. Users will find it easy to detect which tab reef-pi is in, when multiple browser tabs are open.
- reef-pi now validates GPIO and pwm pin numbers. We have seen multiple issues arising from wrong GPIO settings. I hope this will fix some of that.
There are many other small non-feature tech related changes that also went in , including go 1.10 based binary (faster and more efficient), various bug fixes, improvement of developer environment using dockerfile (thanks
@theatrus ) etc. A big changes on that front was migrating to in-house pca9685 and i2c driver instead of embd library. This will ease long term maintenance of reef-pi easier.
Release packages can be found in usual location:
https://github.com/reef-pi/reef-pi/releases/tag/1.5
Some screen shots:
2x2 dashboard
Settings for custom dashboard
New connector type "inlet"
Jack connectors now has a type (pca9685 or rpi)
Thats all for now,
happy reefing