How to create a data table in Node RED Dashboard

Поділитися
Вставка
  • Опубліковано 22 лип 2024
  • Did you know that you can install additional gadgets to the Node-RED dashboard? Learn how to add the table node package, and then see an example of real-world data. In this video you will learn how to create a data table for your Node-RED dashboard.
    00:00 Introduction
    00:52 Installing the table node
    01:31 Documentation overview
    02:15 Static example data
    03:54 Adding the table to the dashboard
    05:45 Getting real-world data
    07:08 Setting dynamic properties
    09:40 Seeing a single row update
    10:46 Configuring the table
    13:57 Adding additional rows
    17:02 Limiting the number of rows
    18:13 Emptying the table
    19:57 Conclusion
    Node-RED tutorials: / playlistlist=plkyvtror...
    Introduction to JSON: • Intro to JSON for Node...
    Basic Dashboard UI: • Tutorial: Basic Node-R...
    Node-RED context storage: • How to use context sto...
    Array function reference: www.w3schools.com/jsref/jsref...
    Learn More:
    www.opto22.com/
    nodered.org/docs/user-guide/w...
    nodered.org/docs/user-guide/c...
    discourse.nodered.org/
    forums.opto22.com/
    More FREE online training
    training.opto22.com/
    All Opto 22 products are designed, manufactured, and supported in the U.S.A. from our Temecula, California headquarters and factory.
    #api #nodered #node #groov #JSON #IoT #Tutorial #learnprogramming #programming #IIoT #automation #javascript #node-REDdashboard

КОМЕНТАРІ • 73

  • @TheSwarmlord
    @TheSwarmlord 3 місяці тому +3

    Thank you for this wonderfull guide. I could only wish that my teachers can explain things as clearly as you.

  • @LaurentTercinet
    @LaurentTercinet 2 місяці тому

    I love the way you teach it.

  • @kobedde
    @kobedde Рік тому

    Very clearly explained in this video. Thanks for sharing this with us. 👍

    • @Opto22
      @Opto22  Рік тому +1

      Glad it was helpful!

  • @adaptivetechnologies7584
    @adaptivetechnologies7584 2 роки тому +2

    Another Excellent video.. Thanks for all the efforts to make these videos..👍👍

    • @Opto22
      @Opto22  Рік тому

      Thanks so much!!!

  • @talkeasy
    @talkeasy Рік тому +2

    Excellent, thank-you.

    • @Opto22
      @Opto22  Рік тому

      Thanks so much!

  • @erwinwaldherr2126
    @erwinwaldherr2126 Рік тому

    fine video, very easy to build now a table myself!!

    • @Opto22
      @Opto22  Рік тому

      Glad it was helpful!

  • @HeinzRuetschi
    @HeinzRuetschi 9 місяців тому

    Hello Terry, thank you very much for your fantastic training videos and valuable technical information. Your way of presenting Node-RED any your Opto Products is really a great pleasure to watch and appreciated.
    Unfortunately, I’ve noticed when trying to reading some of the additional information mentioned under the video, that a few links in learn more, are not available anymore and do not work.
    Would there by any chance to update these?
    In any case Terry, thank you very much again for all your quality training and enormous efforts!

  • @wrgarcia2012
    @wrgarcia2012 2 роки тому +1

    Excellent video

    • @Opto22
      @Opto22  Рік тому

      Glad you liked it

  • @damianolesz6326
    @damianolesz6326 Рік тому

    Well presented!

    • @Opto22
      @Opto22  Рік тому

      Glad it helped!

  • @jamesd7448
    @jamesd7448 2 роки тому +6

    Personally, I would have preferred a while loop to pop off your table while it's > 5. It would be more fault tolerant in case a bug ever caused your table to grow beyond 6 (for whatever reason), and it better reflects your intention to always limit the table to 5 rows.

  • @gabrieldavid7664
    @gabrieldavid7664 2 роки тому +4

    Thank you very much, your video help me!

    • @gabrieldavid7664
      @gabrieldavid7664 2 роки тому +1

      Do you have a course?

    • @Opto22
      @Opto22  2 роки тому +3

      Yes, there is more FREE training at: training.opto22.com/

  • @joeking5211
    @joeking5211 2 роки тому +1

    This is the only YT vid to make any sense of the ui-table. Very many thks, you saved me leaving NR and using other lang to complete project.
    But 2 issues. 1> The table only updates on screen for the first entry, any further entries looks like nothing happens until you refresh the ui browser/webpage, this off course is hopeless for a real world prog, do you have any pointers as to how to make the display of data show when an entry in the table is added and complete array resent, looking at the other comments it seems like the guy with far eastern name may be describing the same issue as me.
    2> I have added the ui-table columns to tidy up/size etc as you explain but when these are added I can get NO data displayed until I remove the the columns, and yes the items names are correct from the array that my prog sends.
    One last point noted. when you define the ( i think savedData variable ), you just type savedData = , without preceding with a the var keyword, I cannot use your code as you type it without starting the line with var, as will throw an error, while adding var works for me now there has to be a reason why your NR does not need to precede the variable declarations with var.
    One again your clear concise approach and superbly timed speaking manner with a super clear diction is very much appreciated. My project may not be finalised in NR due to the above but without this vid I would have kicked out NR for another platform without you, so still with NR for now, I just very much hope you may make a reply to this with some pointers to resolve the above. Keep up the good tutorials and will be checking out ALL your others. Kind Rgds.

  • @calixtoemilio
    @calixtoemilio Рік тому +1

    Very educational!
    How to show the table name (not the group name) in the dashboard?

  • @geirvalsvik1780
    @geirvalsvik1780 Рік тому

    Thanks for a great video on node red UI-Table design! This is perfect for my project where I want to use UI-Table to display an alarm list from the PLC control system I'm using. The only thing to make it complete, is to automatically refresh the table every time a new alarm appears. Like in your example it only updates when the browsers refresh button is manually pressed. Is there a way to make the refresh automatic? Other than that this example is perfect.

  • @paulobarbusa3339
    @paulobarbusa3339 Рік тому

    Thank you! Veryy good

    • @Opto22
      @Opto22  Рік тому

      Thanks so much!

  • @balcubo
    @balcubo Рік тому

    Great explanation, thank you

    • @Opto22
      @Opto22  Рік тому

      glad you liked it!

  • @raulpadrongarcia8852
    @raulpadrongarcia8852 2 роки тому

    you have my respect

    • @Opto22
      @Opto22  2 роки тому +1

      And you, ours. Thanks Raul!!

  • @dyaez80
    @dyaez80 Рік тому

    ello, thanks for your contribution, I have a problem, my database is fine, but when I want to use this node, it happens to me that it does not appear in the dashboard, and I followed the steps just like in the video, but there was no case, I tried it in 2 PCs that I have a network node and it is the same time ago if it worked for me but now I do the same steps and it does not appear, could it be something with the versions? Or what else could it be that is giving me problems? greetings and thank you very much.

  • @jhonnyputtini8514
    @jhonnyputtini8514 Рік тому

    Great video! Can I storage all table data and the struct buit to a Sqlite?

  • @ricardocallejo7422
    @ricardocallejo7422 2 роки тому

    Where do you define savedCount?
    I couldn´t find flow.set("savedCount", tablaData)

  • @smitcher
    @smitcher Рік тому

    One other tip is to convert the door state on the fly too for better readability, something like changing msg.doorState to
    msg.doorState ? "Closed" : "Open"
    or you can switch them round depending on what true/false actually means...

  • @saarnikianto3541
    @saarnikianto3541 7 місяців тому

    Hello! Thanks for the good Video! I would have a Question: How do I make a dynamic List where I can add a row with data and then when needed, remove the same row of data later? Maybe using some id number…

  • @adharaglz5974
    @adharaglz5974 2 роки тому +1

    100/100 you saved my life ✨

    • @Opto22
      @Opto22  2 роки тому +1

      Thanks!! Glad it helped.

    • @adharaglz5974
      @adharaglz5974 2 роки тому

      @@Opto22 how can I put data from a python dictionary?

  • @christopherlawes9286
    @christopherlawes9286 Рік тому

    Can you save the table data in a SharePoint List?

  • @raulrrojas
    @raulrrojas 2 роки тому +1

    Node red is great! I´d only like to have a more friendly export file format in order to be able to learn and escalate as with other lenguages. Besides that, it is fantastic.

    • @Opto22
      @Opto22  Рік тому

      Thanks for sharing!

  • @YvesDarbellay
    @YvesDarbellay 10 місяців тому

    Thank you for this good tutorial. If I want to use these tables, I have to restart the Node-red service on my server so that the table is visible on the dashboard. After that, all my other dashboards are invisible. To correct this, I need to delete the node array and restart the service on my server. Is this a known problem? Thanks for your help.

  • @werneroostendorp1154
    @werneroostendorp1154 6 місяців тому

    Hi! Is there an easy way to 'download' all the values in the table (to .csv) via a button? and if yes, do you know if there is an example flow which i can use?

  • @mircopolo
    @mircopolo 5 місяців тому

    Is it possible to edit record values and save them back to the database?
    also by few users at the same time...

  • @fun_tech
    @fun_tech Рік тому +5

    morning, sir. May I ask you question
    how if my table was not updated automatically, I mean I have to refresh my ui to get my table updated. Whats wrong, sir ? 🙏

    • @diegogalabvis472
      @diegogalabvis472 Рік тому +2

      i get the answere, use this funcion ="msg.ui_control = {tabulator: {data: msg.payload}};
      return msg;". This function updates the data in real time.

    • @Gijs_van_Elderen
      @Gijs_van_Elderen 4 місяці тому

      Thank you ! @@diegogalabvis472

  • @StoryofEV
    @StoryofEV Рік тому

    Can u do a FTP server on node red ?

  • @kme8134
    @kme8134 Рік тому

    this could be used to create an alarm buffer. Having to build your own alarm logic is the thing that I have not yet managed to wrap my head around in node red. Trying to get something similar to WINCC alarm management. not easy for a noob

  • @rrpedrigal
    @rrpedrigal Рік тому

    How will you get those data to send or notify you for example Telegram?

  • @stumbleinnmontpelier
    @stumbleinnmontpelier Рік тому

    This is a great tutorial! It was just what I was looking to do in creating an event stack to display in dashboard. However, mine doesn't seem to update the table unless I refresh the Dashboard. Any suggestions?

    • @fun_tech
      @fun_tech Рік тому

      have same problem, did you get the solution ?

  • @littletiger6902
    @littletiger6902 2 місяці тому

    I have problem with adding the table. I can add one table, but the Tab is missing and not able to add other dashboard icon in same page.

  • @andersondachery385
    @andersondachery385 Рік тому

    congratulations for your video. it helps me a lot in node red. I have a doubt I have a table where I store data collected by my plc. I need to save this table in Pdf daily. how could i do this? thanks

    • @Opto22
      @Opto22  Рік тому

      Glad it helped!

  • @drccr
    @drccr 2 роки тому +2

    It's very nice. But why my ui-table can't auto update new coming data? Thank you!

    • @Opto22
      @Opto22  Рік тому +1

      Let me check

  • @basoayam4252
    @basoayam4252 Рік тому

    Can u make it with database
    How to show data from database sql to the table, please make the tutorial bro, i really need that

  • @xiaoxiao6681
    @xiaoxiao6681 2 роки тому +1

    good

    • @Opto22
      @Opto22  Рік тому

      Thanks so much!!!

  • @IsaacBG84
    @IsaacBG84 Рік тому

    Node-red uses javascript to work?

    • @Opto22
      @Opto22  Рік тому

      Yes, the Node-RED runtime is built on Node.js

  • @HelloHelloXD
    @HelloHelloXD 2 роки тому +1

    Great video. Can you make a video on how to get data from MySql to Node-Red and display it in a chart instead of a table?

    • @jamesd7448
      @jamesd7448 2 роки тому

      He's actually already done that here! ua-cam.com/video/xwLTby6b-IU/v-deo.html

    • @Opto22
      @Opto22  2 роки тому

      Check out this older video:
      ua-cam.com/video/xwLTby6b-IU/v-deo.html

  • @user-nj2hr9ld9e
    @user-nj2hr9ld9e Рік тому +1

    My ui-table can't auto update new coming data

    • @fun_tech
      @fun_tech Рік тому

      have same problem, did you get the solutions after this 2 month ?

    • @user-nj2hr9ld9e
      @user-nj2hr9ld9e Рік тому +1

      @@fun_tech No

    • @benjaminhurand792
      @benjaminhurand792 Рік тому +1

      I have the same problem, I can't find any solution, what about yall ?

    • @geirvalsvik1780
      @geirvalsvik1780 Рік тому

      Same problem with me as well. Any found a solution to make the table auto update when new data arrives?

  • @jamiecoates9891
    @jamiecoates9891 7 місяців тому

    Great Video, only cant read the contents of the Function block shown at timestamp 15:49, top line tableData = flow.get("savedData") {} [];????

    • @jamiecoates9891
      @jamiecoates9891 7 місяців тому

      maybe because of have UK keyboard??

    • @jamiecoates9891
      @jamiecoates9891 7 місяців тому

      Re-watched video and can see they are two parallel line ' || ' added them , but I get an error as soon as I type tabledata, makes no sense to me...
      tableData = flow.get("savedData") || [];
      tableData.unshift({
      "Timestamp": new Date(msg.payload).toLocaleString(),
      "Lat": global.get("Latitude_ISS"),
      "Long": global.get("Longitude_ISS")
      });
      msg.payload = tableData;
      flow.set("savedData",tableData);
      return msg;

  • @revolutionertech.4559
    @revolutionertech.4559 Рік тому

    hello there if could please guide me, below mentioned in my function where each msg is incoming data from energy meter, I want to push each data to table if you can please guide
    "
    var msg0 = {payload:msg.payload[0]};
    var msg1 = {payload:msg.payload[1]/10};
    var msg2 = {payload:msg.payload[2]/10};
    var msg3 = {payload:msg.payload[3]/10};
    var msg4 = {payload:msg.payload[4]/10};
    var msg5 = {payload:msg.payload[5]/10};
    var msg6 = {payload:msg.payload[6]/10};
    var msg7 = {payload:msg.payload[7]/10};
    return [msg0, msg1,msg2,msg3,msg4,msg5,msg6,msg7]; "

  • @manuelmatus2959
    @manuelmatus2959 Рік тому +1

    I get an error when I enter the TableData... Seems like it is not recovnizing the "savedData". You have to modify the 1 line to -> var tableData = flow.get("savedData") || [];