Plant care system work in progress pointers and suggestions welcome


#1

Hi all please find attached 2 text files containing the 2 flows i have been working on. I started some time ago and it soon became a vast mess as i slowly came to grips with node red, not that i have got it yet..
this project did span over 6 flows before i found a node already published doing a lot of what i was relying on a python daemon task to accomplish.
ive managed to reduce the main action flow down from 263 nodes to 13. granted that did contain a few test injection/function/publish node combos

Whats left undone is:

The reacting to events(mqtt publications) raised for warning or action levels
(trivial, that was the 1st thing i sussed, coms with my devices and setting up an email server.. )

The Gui, Yeah, never was something that rang my bells so please advise...
any advice on how to maintain a useful visual display of 4 x graphs and the controls to set user configurable variables. so far i have only implemented 1 set of 7x ui controls, it would be nice to accommodate another 4 sets of 7 tho if a 2nd tab is needed for that , yuk !
could i overlay all the ui controls over the current set and bring them to the foreground by selection for example?

maintaining the global variables set by the gui between system stops n starts,
fairly trivial, i think, i have stores for the collected data so i think i can get there ok..

the main action performed by this system will be to trigger sonoff devices flashed with tasmota to turn on when watering of a plant or area is determined to be below the MML Minimum Moisture Level, these will be configured with the Pulsetime command to shut off after delivering a required volume of water determined by duration and testing already done delivery rate (2l per minute)
all thats needed is to send the Power1 1 command via mqtt.
email warnings will be raised if any other measured value falls outside the optimum range.

in addition a good node java script language reference text recommendation would be great,
i bought a node.js book published by O'Rielly which included a few commands but was hardly a language reference more a sbc catalog ;(

Thanks in advance for any input

**EDIT in order to use my flows the uber sexy 'node-red-contrib-xiaomi-ble' will probably need installing via the palette manager
*** second edit file ver2 includes the features stricken out from the missing list above.
background flow2.txt (7.9 KB)

background flow.txt (6.4 KB)
Dashboardflow.txt (15.8 KB)


#2

Adam and I were recently discussing how to use a fixed set of ui charts/gauges to show similar readings from a dynamic selection of sensors. You may not like this solution, because it doesn't show everything at once, but here is our chat on the slack dashboard-ui channel...
https://node-red.slack.com/archives/C1DH77X1V/p1536149918000100

One limitation of the dashboard elements is that they cannot be placed into a subflow, and then used in multiple flows, as the core nodes can. So if you really want to show repeated groups of ui elements you really only have 2 choices (afaik) -- duplicate all the dashboard nodes/tabs/groups, or build material design elements yourself with angular ng-repeat directives.


#3

Thanks, Im afraid i lack the privileges to follow the link, and building material design elements...is above my skill level to fully appreciate whats involved even.

i found some of the limitations of dashboard nodes within a sub flow through experimentation already,

Actually the idea of duplicating the nodes within further dashboard tabs with a different emphasis of focus on each tab, is more in line with my old hat batch processing way of thinking.

And when squeezed into a tiny footprint the charts loose a lot of use beyond providing an indicating trend. A tab/page per metric is probably the way to go ..

thanks again for the input.


#4

Actually, having one metric per page is exactly what I was suggesting -- but without having to create nearly identical sets for each metric. Here's a capture from the Slack discussion:

Sorry you had to try making "UI subflows" before finding out it won't work... i think we've all tried that at some point.


#5

I see, yes, i thnk however in my case if i pursue the tab per metric, i will still keep all 4 charts on the page, just make the relevant chart large and useful for casual analysis while the others can be painted small and too the side, available for a casual glance for trend spotting.

dceejay pointed me towards the hide/unhide feature of dashboard wigits which is another avenue of exploration, iirc its the delphi and vb way of doing things bringing gui aspects to the foreground for use and display.

meanwhile ive found another brick wall to bang my head on if i dont get anywhere with it soon watch this space for another basic Q..


#6

For your graphs/charts I highly recommend looking into influxDB and grafana. They are an excellent analytic front-end to pair with node-red logic running behind the scenes. Grafana also supports imbedding iframes as panels, which allows for node-red dashboard buttons and audio alerts to be thrown in as well (or you can export grafana panels to be used as an iframe in node-red dashboard template nodes.)


#7

Thanks for the pointers,
Top Shelf tools i am sure, but for a back yard monitoring system i fear commercial tools and the associated costs could be prohibitive, and i am not in a position to evaluate anything so sophisticated in 14 days atm..


#8

influxDB uses the MIT license and Grafana uses the APACHE 2.0 license. They do offer support services and clustering for a fee if you need it, but for single instances there's no cost involved; including commercial and resale.


#9

ahh - my quick google led me to pages offering 14day trials, at which point the shutters went down,
Once i emerge from my current rabbit hole i shall go and check again..