🎇 FlexDash alpha release - round 2

Lazy bum got busted! :boom: 25 days since the last release, sheesh!

1 Dec 11:00:56 - [info] Node-RED FlexDash plugin version 0.4.114                    
1 Dec 11:00:57 - [info] Node-RED FlexDash version 0.4.114                           
1 Dec 11:00:57 - [info] Node-RED FD Core Widgets version 0.4.53                     
1 Dec 11:00:59 - [info] FlexDash UI version 0.4.66                                  

Please read the release notes below, then update both node-red-flexdash and node-red-fd-corewidgets (and be sure to reload your browser tab).

Breaking changes:

  • Input widgets now no longer perform local feedback. For example when the user clicks a toggle it provides some visual feedback (e.g. a ripple) and sends a message to NR. But it does not toggle. In order for the toggle action to complete NR needs to send a message with the new state to FlexDash.
    There are two ways to accomplish this: perform the feedback in the NR flow (preferably after ensuring the desired action actually took place) or check the loopback checkbox in the widget's general properties panel. Existing implementations of FD will have to edit all the toggle, dropdown-select, and value-sequence nodes to handle this change.

Other changes:

  • text-view: fix handling of newlines when not wrapping text
  • time-plot: support ISO prefixing for Y axis scales and legend
  • time-plot: support Y axis log scale
  • stats: fix ISO prefixes for values < 1.0
  • fonts: fix pulling in Roboto font (it had gotten lost)

WRT the local feedback, I realized there is no single correct solution. In the context of the way FlexDash works not performing internal feedback (in the browser code) is much better than performing internal feedback. This is because FlexDash mirrors state and if the browser code internally mutates the state then it gets out of sync with the state in NR resulting in problems down the line.

1 Like

Did you bump the version number of @flexdash/node-red-flexdash @tve ?
NPM still shows version 0.4.109, yet also says "Last publish: an hour ago"?

EDIT - The package.json file in git shows "version": "0.4.114"

1 Like

Fixed, thank for pointing it out. I need to overhaul the release process, ugh, too many mistakes.

1 Like

@tve Unfortunately, since updating, my existing time-plot charts are no longer working.
I'm getting this error in browser console, and just empty chart containers.

flex

I've updated both node-red-flexdash and node-red-fd-corewidgets, restarted node-RED, and the charts appeared OK, but then I reloaded my browser, that's when the problem became apparent.
I've also tried other browsers - the same.
alpha v0.4.66

I've attached a simple flow to demonstrate.

[{"id":"b2c2dfde99c08cba","type":"inject","z":"1543d308b342690a","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":340,"y":2315,"wires":[["e18f647499f70d42"]]},{"id":"e18f647499f70d42","type":"function","z":"1543d308b342690a","name":"Example","func":"let output = { \"payload\": [[1669982400, 5.09, 2.71, 0], [1669986000, 5.64, 3.17, 0], [1669989600, 6.01, 3.42, 0], [1669993200, 6.21, 2.82, 0], [1669996800, 6.21, 2.78, 0], [1670000400, 5.63, 2.87, 0], [1670004000, 5.24, 2.58, 0], [1670007600, 5, 2.28, 0], [1670011200, 4.79, 2.29, 0], [1670014800, 4.61, 2.74, 0], [1670018400, 4.78, 3.05, 0], [1670022000, 4.75, 2.68, 0], [1670025600, 4.51, 2.78, 0], [1670029200, 4.58, 2.97, 0], [1670032800, 4.47, 2.85, 0], [1670036400, 4.15, 3.1, 0], [1670040000, 4.33, 3.17, 0], [1670043600, 4.26, 3.35, 0], [1670047200, 4.41, 3.29, 0.07], [1670050800, 4.47, 3.64, 0], [1670054400, 4.37, 3, 0], [1670058000, 4.91, 3.52, 0], [1670061600, 5.76, 3.64, 0], [1670065200, 6.42, 4.29, 0], [1670068800, 6.88, 4.6, 0]],  \"title\": \"Met Office Forecast\", \"labels\": [\"temp °C\", \"wind mph\", \"rain mm\"], \"widths\": [2, 2, 2], \"colors\": [\"red\", \"blue\", \"green\"], \"axes\": [\"right\", \"right\", \"left\"], \"right_unit\": \"\", \"right_decimals\": 1, \"left_unit\": \"mm\", \"left_decimals\": 2, \"left_min\": 0 }\nreturn output;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":475,"y":2315,"wires":[["465fdf0aaf758dd3","091783bc3a494015"]]},{"id":"465fdf0aaf758dd3","type":"debug","z":"1543d308b342690a","name":"debug 23","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":625,"y":2295,"wires":[]},{"id":"091783bc3a494015","type":"fd-time-plot","z":"1543d308b342690a","fd_container":"a2fd476acabc61e3","fd_cols":"8","fd_rows":"3","fd_array":false,"fd_array_max":10,"fd_output_topic":"","name":"Test","title":"Test","popup_info":"","data":null,"labels":[],"colors":[],"axes":[],"widths":[],"span_gaps":[],"left_unit":"","left_min":null,"left_max":null,"left_decimals":1,"left_isoprefix":false,"left_log":false,"right_unit":"","right_min":null,"right_max":null,"right_decimals":1,"right_isoprefix":false,"right_log":false,"reverse_legend":false,"x":615,"y":2335,"wires":[[]]},{"id":"a2fd476acabc61e3","type":"flexdash container","name":"Weather","kind":"StdGrid","fd_children":",6916febb69369323,754b848b6afed702,2876ba66ff2679bb,43aefa2fadb84bae,7c544937f1551351,a740e629dee0d44b,dbdb33e6290c28b1,ca21852cd51c24f5,0d31953fbe4bf5da,403cac5059d3b463,6149f97eab3c8c6b,d1cbbc0e8b5f919d,63f87178b139ec44,091783bc3a494015","title":"","tab":"1839949e733ccb05","min_cols":"1","max_cols":"20","parent":"69c2e3f5798c3475","solid":false,"cols":"1","rows":"1"},{"id":"1839949e733ccb05","type":"flexdash tab","name":"Weather","icon":"mdi-weather-night-partly-cloudy","title":"","fd_children":",a2fd476acabc61e3","fd":"e8f5aea52ab49500"},{"id":"69c2e3f5798c3475","type":"flexdash container","name":"Energy","kind":"StdGrid","fd_children":",43719d5359575f6b,bb113511ea8e41fd,3a60132d9af9f863,6201d0ac747c461c,69906bafd65a0c83,75c16f30cf7f4718,f38aa8e4f00caf79","title":"","tab":"fef6c0f6d48841d6","min_cols":"8","max_cols":10,"parent":"","solid":false,"cols":"1","rows":"1"},{"id":"fef6c0f6d48841d6","type":"flexdash tab","name":"Energy","icon":"mdi-home-lightning-bolt-outline","title":"","fd_children":",69c2e3f5798c3475","fd":"e8f5aea52ab49500"}]
1 Like

I can reproduce the error, I don't have a fix yet. Busy day, so it may take 'til the evening. Thanks for the repro!!

Edit: it looks like the cause is that you set a min value for the left axis and no max, set a left max to work around the bug.

1 Like

Ah OK, that was quick!!
Yes, adding a max value restores the chart.
I think, (although it was weeks ago..) that I set the minimum value because if the plot payload was zero, the y axis displayed a negative/positive scale. Although I can't reproduce that now :wink:
... but it's worked OK until your latest update.

No rush to fix, I've removed the min value completely.

1 Like

Here we go...

2 Dec 22:04:18 - [info] Node-RED FlexDash plugin version 0.4.117                            
2 Dec 22:04:20 - [info] Node-RED FlexDash version 0.4.117                                   
2 Dec 22:04:20 - [info] Node-RED FD Core Widgets version 0.4.53                             
2 Dec 22:04:21 - [info] FlexDash UI version 0.4.68                                          

Changes:

  • time-plot: fix left/right min/max linear/logarithmic
2 Likes

@tve I have been following this thread with interest, so I thought I would install and try to replicate some of my dashboard tabs, to see if they are more performant with flexdash on lower power devices.

Have to say I'm loving the widget array feature :wink:

Keep up the good work !!

1 Like

Thanks for the encouragement!!!
How is the experience on the lower power devices?

Only installed it yesterday so will have to let you know, I have a very busy tab which is slow on an android tablet, so that's the one I will replicate in Flexdash.

Here we go again :rocket:: a new feature lands in a new FlexDash release!

This time it's :drum: :drum: :drum: custom widgets :boom:

8 Dec 22:51:02 - [info] Node-RED FlexDash plugin version 0.4.119
8 Dec 22:51:04 - [info] Node-RED FlexDash version 0.4.119
8 Dec 22:51:04 - [info] Node-RED FD Core Widgets version 0.4.53
8 Dec 22:51:05 - [info] FlexDash UI version 0.4.72

Custom widgets

You can now write your own FlexDash widget!
The easy one, that I recommend for now, is to grab a FD custom node

image

Put it into a flow and write the widget code right in the Node-RED flow editor.
The "widget source" tab is pre-populated with a simple button widget:

Hit "done" and "deploy" and your widget is running in your dashboard!

You're probably wondering "*yeah, but how do I write widgets?"
I can offer a wee little help: Developing Widgets docs! (Somewhat incomplete... :stuck_out_tongue_winking_eye:). Including a quick-start page on how to modify an existing FlexDash widget and another "little Vue primer" page.

If you get stuck, please start a fresh thread here, apply the FlexDash tag, and post what you have and where you're stuck!

I hope I haven't again fat-fingered the release, but I'm sure I'll hear about it :roll_eyes:
This custom widget stuff is very hot off the press: I have not tested it exhaustively and I'm sure there are issues. Feedback appreciated!

Overall, this has been a long road to get here. There is the "older" support for writing custom widgets as an NPM package and that is still relevant, but for 90%+ of uses I expect the custom widget to suffice and I have some ideas on how to enhance it further.

One of the areas where I took some short-cuts is importing other modules. E.g., using an import statement in a widget. There's a doc page for that, but the parsing/transformation of some forms of import is totally hacked. That probably needs to be fixed using babel. But all this JavaScript module stuff is such a nightmare...

Another area of concern is the hot-reload aspect, i.e., whether I got everything right when one edits a widget and hits deploy. Time will tell...

3 Likes

@tve That didn't go well.. :flushed:

Updated @flexdash/node-red-flexdash, restarted node-RED, and got browser message Cannot GET /flexdash/ reloaded browser - same result.

Checked node-RED log -

TypeError: Cannot read properties of undefined (reading '_newNode')
    at new FlexDashDashboard (/home/pi/.node-red/node_modules/@flexdash/node-red-flexdash/flexdash-dashboard.js:104:21)
    at Object.createNode (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/util.js:90:27)
    at Flow.start (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/Flow.js:180:44)
    at Object.start [as startFlows] (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/index.js:394:33)
9 Dec 11:35:40 - [error] [flexdash dashboard:e8f5aea52ab49500] TypeError: Cannot read properties of undefined (reading '_newNode')
Error: Circular config node dependency detected: fef6c0f6d48841d6
    at Flow.start (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/Flow.js:172:43)
    at Object.start [as startFlows] (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/index.js:394:33)
9 Dec 11:35:41 - [error] [fd-push-button:7b774415d2399f26] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 11:35:41 - [error] [fd-push-button:fa5803caa1b3f2d5] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 11:35:41 - [error] [fd-push-button:ec1cf605133c47cd] TypeError: Cannot read properties of undefined (reading 'initWidget')

Plus lots more...

NOTE TO SELF: Don't update Flexdash at 3.35AM California time :wink:

[EDIT - ] Now rolled back to @flexdash/node-red-flexdash@0.4.117 and I'm back working, so no rush!

3 Likes

:joy:

I cannot retrace what may have happened. The error you posted suggests that the node-red-flexdash-plugin package did not get loaded, which may have to do with how you upgraded? Do you have the log section where all the versions are printed? The plugin must have the same version number as node-red-flexdash.

Or perhaps the issue comes from the circular config node dependency?

I've tried it again - same result.
Updated via node-RED palette.

Install log

-----------------------------------------------------------
2022-12-09T16:51:21.325Z Install : @flexdash/node-red-flexdash 0.4.119
2022-12-09T16:51:20.195Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict @flexdash/node-red-flexdash@0.4.119
2022-12-09T16:51:22.080Z [err] npm
2022-12-09T16:51:22.081Z [err]
2022-12-09T16:51:22.081Z [err] WARN config production Use `--omit=dev` instead.
2022-12-09T16:51:35.753Z [err] npm
2022-12-09T16:51:35.753Z [err]
2022-12-09T16:51:35.753Z [err] WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
2022-12-09T16:51:38.013Z [out]
2022-12-09T16:51:38.013Z [out] added 14 packages, and changed 2 packages in 16s
2022-12-09T16:51:38.040Z rc=0

Here is a complete Node-RED log

Welcome to Node-RED
===================
9 Dec 16:53:44 - [info] Node-RED version: v3.0.2
9 Dec 16:53:44 - [info] Node.js  version: v16.18.1
9 Dec 16:53:44 - [info] Linux 5.10.103-v7+ arm LE
9 Dec 16:53:46 - [info] Loading palette nodes
Error: Cannot find module 'hash-sum'
Require stack:
- /home/pi/.node-red/node_modules/@flexdash/node-red-flexdash-plugin/sfc-compiler.js
- /home/pi/.node-red/node_modules/@flexdash/node-red-flexdash-plugin/flexdash-plugin.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/loader.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/index.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/index.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/index.js
- /usr/lib/node_modules/node-red/lib/red.js
- /usr/lib/node_modules/node-red/red.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
    at Function.Module._load (node:internal/modules/cjs/loader:833:27)
    at Module.require (node:internal/modules/cjs/loader:1057:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/home/pi/.node-red/node_modules/@flexdash/node-red-flexdash-plugin/sfc-compiler.js:6:14)
    at Module._compile (node:internal/modules/cjs/loader:1155:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
    at Module.load (node:internal/modules/cjs/loader:1033:32)
    at Function.Module._load (node:internal/modules/cjs/loader:868:12)
    at Module.require (node:internal/modules/cjs/loader:1057:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/pi/.node-red/node_modules/@flexdash/node-red-flexdash-plugin/sfc-compiler.js',
    '/home/pi/.node-red/node_modules/@flexdash/node-red-flexdash-plugin/flexdash-plugin.js',
    '/usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/loader.js',
    '/usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/index.js',
    '/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/index.js',
    '/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/index.js',
    '/usr/lib/node_modules/node-red/lib/red.js',
    '/usr/lib/node_modules/node-red/red.js'
  ]
}
9 Dec 16:53:50 - [info] Node-RED FlexDash version 0.4.119
9 Dec 16:53:50 - [info] Node-RED FD Core Widgets version 0.4.53
9 Dec 16:53:56 - [info] Dashboard version 3.2.3 started at /ui
9 Dec 16:53:56 - [info] FlexDash UI version 0.4.72
9 Dec 16:53:57 - [info] Settings file  : /home/pi/.node-red/settings.js
9 Dec 16:53:57 - [info] Context store  : 'RAM' [module=memory]
9 Dec 16:53:57 - [info] Context store  : 'Disk' [module=localfilesystem]
9 Dec 16:53:57 - [info] User directory : /home/pi/.node-red
9 Dec 16:53:57 - [warn] Projects disabled : editorTheme.projects.enabled=false
9 Dec 16:53:57 - [info] Flows file     : /home/pi/.node-red/flows.json
9 Dec 16:53:57 - [info] Refreshing https settings every 12 hours
9 Dec 16:53:57 - [info] Server now running at https://127.0.0.1:8443/
9 Dec 16:53:58 - [info] Starting flows
TypeError: Cannot read properties of undefined (reading '_newNode')
    at new FlexDashDashboard (/home/pi/.node-red/node_modules/@flexdash/node-red-flexdash/flexdash-dashboard.js:104:21)
    at Object.createNode (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/util.js:90:27)
    at Flow.start (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/Flow.js:180:44)
    at Object.start [as startFlows] (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/index.js:394:33)
9 Dec 16:53:58 - [error] [flexdash dashboard:e8f5aea52ab49500] TypeError: Cannot read properties of undefined (reading '_newNode')
Error: Circular config node dependency detected: fef6c0f6d48841d6
    at Flow.start (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/Flow.js:172:43)
    at Object.start [as startFlows] (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/index.js:394:33)
9 Dec 16:53:59 - [error] [fd-push-button:7b774415d2399f26] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-push-button:fa5803caa1b3f2d5] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-push-button:ec1cf605133c47cd] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-push-button:1c3e766d6d24ef84] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-push-button:f0d58cbb8abe635f] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-spark-line:8b94fa88b5f4c779] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-spark-line:dc8bc52172ba458f] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-spark-line:a18bf86c8f375090] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-spark-line:8b76b68457ca3c39] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-spark-line:9ce16225da41d35c] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-spark-line:47b9fcd2bb13641e] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:0f7f7b97d8310162] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:b5ae57000615dacf] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:6201d0ac747c461c] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:69906bafd65a0c83] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:75c16f30cf7f4718] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:6916febb69369323] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:754b848b6afed702] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:2876ba66ff2679bb] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:a740e629dee0d44b] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:dbdb33e6290c28b1] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:ca21852cd51c24f5] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:0d31953fbe4bf5da] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:7c544937f1551351] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-stat:43aefa2fadb84bae] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-time-plot-raw:63f87178b139ec44] TypeError: Cannot read properties of undefined (reading 'initWidget')
TimePlot Energy Chart: config = {"id":"43719d5359575f6b","type":"fd-time-plot","z":"1543d308b342690a","fd_container":"69c2e3f5798c3475","fd_cols":"7","fd_rows":"4","fd_array":false,"fd_array_max":10,"fd_output_topic":"","name":"Energy Chart","title":"Energy data","popup_info":"","data":null,"labels":[],"colors":[],"axes":[],"widths":[],"span_gaps":[],"left_unit":"","left_min":null,"left_max":null,"left_decimals":0,"right_unit":"","right_min":null,"right_max":null,"right_decimals":0,"reverse_legend":false,"x":740,"y":75,"wires":[[]]}
9 Dec 16:53:59 - [error] [fd-time-plot:43719d5359575f6b] TypeError: Cannot read properties of undefined (reading 'initWidget')
TimePlot Forecast: config = {"id":"403cac5059d3b463","type":"fd-time-plot","z":"1543d308b342690a","fd_container":"a2fd476acabc61e3","fd_cols":"9","fd_rows":"3","fd_array":false,"fd_array_max":10,"fd_output_topic":"","name":"Forecast","title":"","popup_info":"","data":null,"labels":[],"colors":[],"axes":[],"widths":[],"span_gaps":[],"left_unit":"","left_min":null,"left_max":null,"left_decimals":1,"right_unit":"","right_min":null,"right_max":null,"right_decimals":1,"reverse_legend":false,"x":675,"y":1755,"wires":[[]]}
9 Dec 16:53:59 - [error] [fd-time-plot:403cac5059d3b463] TypeError: Cannot read properties of undefined (reading 'initWidget')
TimePlot Storm Glass forecast: config = {"id":"6149f97eab3c8c6b","type":"fd-time-plot","z":"1543d308b342690a","fd_container":"a2fd476acabc61e3","fd_cols":"9","fd_rows":"3","fd_array":false,"fd_array_max":10,"fd_output_topic":"","name":"Storm Glass forecast","title":"Time Plot","popup_info":"","data":null,"labels":[],"colors":[],"axes":[],"widths":[],"span_gaps":[],"left_unit":"","left_min":null,"left_max":null,"left_decimals":1,"right_unit":"","right_min":null,"right_max":null,"right_decimals":1,"reverse_legend":false,"x":655,"y":1840,"wires":[[]]}
9 Dec 16:53:59 - [error] [fd-time-plot:6149f97eab3c8c6b] TypeError: Cannot read properties of undefined (reading 'initWidget')
TimePlot Met Office forecast: config = {"id":"d1cbbc0e8b5f919d","type":"fd-time-plot","z":"1543d308b342690a","fd_container":"a2fd476acabc61e3","fd_cols":"9","fd_rows":"3","fd_array":false,"fd_array_max":10,"fd_output_topic":"","name":"Met Office forecast","title":"Time Plot","popup_info":"","data":null,"labels":[],"colors":[],"axes":[],"widths":[],"span_gaps":[],"left_unit":"","left_min":null,"left_max":null,"left_decimals":1,"right_unit":"","right_min":null,"right_max":null,"right_decimals":1,"reverse_legend":true,"x":775,"y":1950,"wires":[[]]}
9 Dec 16:53:59 - [error] [fd-time-plot:d1cbbc0e8b5f919d] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [error] [fd-toggle:3a60132d9af9f863] TypeError: Cannot read properties of undefined (reading 'initWidget')
9 Dec 16:53:59 - [info] Started flows
9 Dec 16:53:59 - [info] [serialconfig:4e8f5f40.b0e64] serial port /dev/ttyAMA0 opened at 38400 baud 8N1
9 Dec 16:54:00 - [info] [mqtt-broker:Local server] Connected to broker: Local node-RED@mqtt://192.168.0.8:1883
9 Dec 16:54:00 - [info] [mqtt-broker:aedes mqtt] Connected to broker: mqtt://132.145.59.204:1883
9 Dec 16:54:00 - [info] [mqtt-broker:cloud mqtt] Connected to broker: mqtt://farmer.cloudmqtt.com:15069
9 Dec 16:54:00 - [info] Upgrade request for /comms got
1 Like

So the error you're hitting is:

That's indeed a new package. I'm not quite understanding why it's causing an issue though and can't reproduce the problem. I launched NR 3.0.1 in docker, installed FD 0.4.117, then used the palette manager to upgrade node-red-flexdash, then restarted NR, and it comes saying FD 0.4.119 just fine. :roll_eyes:

I added hash-sum as an explicit dependency and published node-red-flexdash and node-red-flexdash-plugin 0.4.120, can you please retry? (You only need to upgrade node-red-flexdash, the other is a dependency.)

1 Like

v0.4.120 has updated and loaded OK, with no FD error messages.
All good now :smile:

Thanks @tve

2 Likes

Just tried the Custom Widget, how come it gives 2 output msg's for each click.
The relevant code is;

export default {
  props: {
    label: { default: "clickme" }, 
    output: { default: "I was clicked" },
  },
  methods: {
    clicked() {
      this.$emit('send', this.output)
    },
  },
}

clicked

1 Like

Do you mind posting the entire custom widget code?

Unrelated issue: I'm now getting errors when using text-field, number-field, and slider. They are of the form

[plugin:vite:vue] v-model cannot be used on a prop, because local prop bindings are not writable.

I suspect that by adding the new dependency the packages-lock got updated and the latest version of Vue has these additional checks. So expect a 0.4.121 shortly... :roll_eyes:

1 Like

It's your custom widget default example code, unaltered.
(I took out the comments when posting in the forum, so it read clearer)

1 Like

Thanks for the clarification.

I'm seeing a number of issues so at this point it's best to wait 'til I sort through...

1 Like