Well, all data comes from SSE (Server-Sent-Event-Particle Photon).
Each variable comes from those nodes
There is no PI, there is a Particle photon who send data to Particle Cloud.
The server running on a laptop (as I mentioned to answer Colin's questions), is retrieve data through the SSE nodes .
The the nodes related to sqlite db inset data in the db every 15 minutes and only are retrieved when it is demanded , so there is not continuous data flows toward the charts.
Please see attached log from the server running on a laptop.
IMicrosoft Windows [Version 10.0.18362.836]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Users\amvel>node-red
6 Jun 18:46:20 - [info]
Welcome to Node-RED
===================
6 Jun 18:46:20 - [info] Node-RED version: v1.0.6
6 Jun 18:46:20 - [info] Node.js version: v13.11.0
6 Jun 18:46:20 - [info] Windows_NT 10.0.18362 x64 LE
6 Jun 18:46:21 - [info] Loading palette nodes
6 Jun 18:46:22 - [info] Dashboard version 2.19.4 started at /ui
6 Jun 18:46:23 - [info] Settings file : \Users\amvel\.node-red\settings.js
6 Jun 18:46:23 - [info] Context store : 'default' [module=memory]
6 Jun 18:46:23 - [info] User directory : \Users\amvel\.node-red
6 Jun 18:46:23 - [warn] Projects disabled : editorTheme.projects.enabled=false
6 Jun 18:46:23 - [info] Flows file : \Users\amvel\.node-red\flows_LAPTOP-UJ9TTBO3.json
6 Jun 18:46:23 - [info] Server now running at http://127.0.0.1:1880/
6 Jun 18:46:23 - [warn]
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.
If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.
You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------
6 Jun 18:46:23 - [info] Starting flows
TypeError: Cannot read property 'id' of null
at C:\Users\amvel\node_modules\node-red-dashboard\ui.js:466:69
at find (C:\Users\amvel\node_modules\node-red-dashboard\ui.js:428:13)
at addControl (C:\Users\amvel\node_modules\node-red-dashboard\ui.js:466:24)
at Object.add (C:\Users\amvel\node_modules\node-red-dashboard\ui.js:144:18)
at addWidget (C:\Users\amvel\node_modules\node-red-dashboard\index.js:118:15)
at Object.addWidget (C:\Users\amvel\node_modules\node-red-dashboard\index.js:136:48)
at new TableNode (C:\Users\amvel\node_modules\node-red-node-ui-table\node.js:57:27)
at Object.createNode (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\util.js:483:31)
at Flow.start (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\Flow.js:193:48)
at start (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\index.js:345:33)
TypeError: Cannot read property 'config' of null
at addWidget (C:\Users\amvel\node_modules\node-red-dashboard\index.js:72:39)
at Object.addWidget (C:\Users\amvel\node_modules\node-red-dashboard\index.js:136:48)
at new TableNode (C:\Users\amvel\node_modules\node-red-node-ui-table\node.js:57:27)
at Object.createNode (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\util.js:483:31)
at Flow.start (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\Flow.js:193:48)
at start (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\index.js:345:33)
at tryCatchReject (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:845:30)
at runContinuation1 (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:804:4)
at Fulfilled.when (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:592:4)
at Pending.run (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:483:13)
TypeError: Cannot read property 'config' of null
at addWidget (C:\Users\amvel\node_modules\node-red-dashboard\index.js:72:39)
at Object.addWidget (C:\Users\amvel\node_modules\node-red-dashboard\index.js:136:48)
at new TableNode (C:\Users\amvel\node_modules\node-red-node-ui-table\node.js:57:27)
at Object.createNode (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\util.js:483:31)
at Flow.start (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\Flow.js:193:48)
at start (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\@node-red\runtime\lib\nodes\flows\index.js:345:33)
at tryCatchReject (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:845:30)
at runContinuation1 (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:804:4)
at Fulfilled.when (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:592:4)
at Pending.run (C:\Users\amvel\AppData\Roaming\npm\node_modules\node-red\node_modules\when\lib\makePromise.js:483:13)
6 Jun 18:46:23 - [info] Started flows
6 Jun 18:46:23 - [info] [sqlitedb:3c477b64.eccd44] opened C:\Users\amvel\hvac4.db ok
6 Jun 18:46:23 - [info] [sqlitedb:dae2d208.74905] opened C:\Users\amvel\hvac4.db ok
6 Jun 18:49:02 - [info] Stopping flows
6 Jun 18:49:02 - [info] Stopped flows
6 Jun 18:49:02 - [info] Starting flows
6 Jun 18:49:02 - [info] Started flows
If you want it, I can send a typical flow pattern which is used f to retrieve some variables and other flow pattern to retrieve data from the data base.
Thank you.