Does the context.global.set affect array somehow?

Does the "context.global.set" affect array somehow or it is just my low knowledge of js syntax?
When I declare the var dataSet using the array (first uncommented line below), my table works.
When I uncomment the line 2 and 3, the table does not populate data.
My NR code attached below. To see the table in the "dark" NR theme, uncomment the style.

var dataSet = [[124,1,1,2,1,1,0,"r14","Therm. mode","Funkce termostatu\nZde je definován provoz termostatu. Buď jako obyčejný termostat ZAPNUTO/ VYPNUTO nebo "],[100,20,-500,500,-240,-240,1,"---","Cutout °C",null],[101,20,1,200,20,20,1,"r01","Differential","Diference\nPokud je teplota vyšší, než referenční"],[102,500,-490,500,-100,-100,1,"r02","Max cutout°C","Aby se zabránilo nastavení příliš vysoké požadované hodnoty"],[103,-500,-500,490,-250,-250,1,"r03","Min cutout°C","Aby se zabránilo nastavení příliš"]];
//global.set("pnuValues",dataSet);
//dataSet=global.get("pnuValues");
[{"id":"8faeabc3.e31708","type":"ui_template","z":"171dbdc2.2de1c2","group":"14e97aa2.4beb35","name":"","order":0,"width":"8","height":"5","format":"<table id=\"example\" class=\"display\" width=\"100%\"></table>\n\n<!--\n-->\n<style>\n    body.nr-dashboard-theme md-content md-card {\n    background-color: #ffffff;\n    color: #000000;\n}\n</style>\n\n\n<script>\nvar dataSet = [[124,1,1,2,1,1,0,\"r14\",\"Therm. mode\",\"Funkce termostatu\\nZde je definován provoz termostatu. Buď jako obyčejný termostat ZAPNUTO/ VYPNUTO nebo \"],[100,20,-500,500,-240,-240,1,\"---\",\"Cutout °C\",null],[101,20,1,200,20,20,1,\"r01\",\"Differential\",\"Diference\\nPokud je teplota vyšší, než referenční\"],[102,500,-490,500,-100,-100,1,\"r02\",\"Max cutout°C\",\"Aby se zabránilo nastavení příliš vysoké požadované hodnoty\"],[103,-500,-500,490,-250,-250,1,\"r03\",\"Min cutout°C\",\"Aby se zabránilo nastavení příliš\"]];\nglobal.set(\"pnuValues\",dataSet);\ndataSet=global.get(\"pnuValues\");\n\n$(document).ready(function() {\n    $('#example').DataTable( {\n        data: dataSet,\n        columns: [\n            { title: \"PNU\" },\n            { title: \"DEF\" },\n            { title: \"MIN\" },\n            { title: \"MAX\" },\n            { title: \"ACTUAL1\" },\n            { title: \"ACTUAL2\" },            \n            { title: \"SCALE\" },\n            { title: \"PARAMETER\" },\n            { title: \"TEXT\" },\n            { title: \"POPIS\" }            \n        ],\n        \"language\": {\n            \"url\": \"//cdn.datatables.net/plug-ins/1.10.19/i18n/Czech.json\"\n            //\"url\": \"/verejne/DataTables/Czech.json\"\n        }\n    } );\n} );\n</script>\n","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":560,"y":680,"wires":[["388c05c2.0e10aa"]]},{"id":"996edc5f.e3df4","type":"ui_template","z":"171dbdc2.2de1c2","group":"29c72db3.985de2","name":"Head","order":3,"width":"16","height":"17","format":"<!--\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/verejne/DataTables/DataTables-1.10.18/css/jquery.dataTables.css\"/>\n<script type=\"text/javascript\" src=\"/verejne/DataTables/DataTables-1.10.18/js/jquery.dataTables.js\"></script>\n<script type=\"text/javascript\" src=\"/verejne/DataTables/DataTables-1.10.18/js/jquery.dataTables.min.js\"></script>\n-->\n\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css\"/>\n \n<script type=\"text/javascript\" src=\"https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js\"></script>\n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"global","x":550,"y":640,"wires":[[]]},{"id":"14e97aa2.4beb35","type":"ui_group","z":"","name":"www","tab":"d34254b0.c3d2a8","disp":false,"width":"16","collapse":false},{"id":"29c72db3.985de2","type":"ui_group","z":"","name":"Group 1","tab":"812e55e.16826a8","order":1,"disp":true,"width":"16","collapse":true},{"id":"d34254b0.c3d2a8","type":"ui_tab","z":"","name":"Button Panel","icon":"dashboard","order":2},{"id":"812e55e.16826a8","type":"ui_tab","z":"","name":"Tabulka","icon":"dashboard","order":6,"disabled":false,"hidden":false}]

Why are you doing that in a ui_template?

I do not know the other way.... With static data it works well

The code in a ui_template node runs in the browser not in the node-red server. You can't access the node-red context in the browser so you can't access it in a ui_template. I imagine that if you looked in the browser console you would see run-time errors on those lines of code.

I see. So how to get the data in to the table?
Something like this?

   (function(scope){
        scope.$watch('msg', function(msg) {
           gauge.value=msg.payload;
           // if (msg.units!="") gauge.units=msg.units;
        });
    })(scope);

can't you create the table in a function node and pass it to the ui_template node in the msg?

1 Like

What do you mean by "create the table in a function"?
To let js to generate the all html and pass pass HTML dynamically to the Dashboard UI? <div ng-bind-html="msg.payload"></div> as described on NR web?

On DataTables web, they say: "DataTables can obtain data from four different fundamental sources:

  • HTML document (DOM)
  • Javascript (array / objects)
  • Ajax sourced data with client-side processing
  • Ajax sourced data with server-side processing

I have found your post about similar problem on NR forum.
After the whole night of experimetns (mainly Error: ngRepeat:dupes Duplicate Key in Repeate was the problem) I have the code with HTML document (DOM) data source, which is functional but has two issues:

  • reloading the page (Ctrl-R) is destroing the data (only reloading using NR tabs gives the data back)
  • reloading data using NR tabs does not show the fresh/recent data

Any hints how to solve it?
What about Ajax (client side or server side)? I have not clue about Ajax approach.
My recent code:

[{"id":"576975db.f1838c","type":"debug","z":"171dbdc2.2de1c2","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":810,"y":560,"wires":[]},{"id":"397e8bc1.6d86d4","type":"json","z":"171dbdc2.2de1c2","name":"","property":"payload","action":"","pretty":false,"x":390,"y":560,"wires":[["9e997315.96113"]]},{"id":"f4e42c4c.07e2d","type":"mqtt in","z":"171dbdc2.2de1c2","name":"","topic":"konecchlumska/values/","qos":"2","broker":"1742c9a6.e8bb56","x":120,"y":540,"wires":[["397e8bc1.6d86d4"]]},{"id":"9e997315.96113","type":"function","z":"171dbdc2.2de1c2","name":"global DATA","func":"context.global.set(\"pnuDataSet\",msg.payload.DATA);\ncontext.global.set(\"pnuDataColumns\",msg.payload.COLUMNS);\n\nvar dataSet = [[124,1,1,2,1,1,0,\"r14\",\"Therm. mode\",\"Funkce termostatu\\nZde je definován provoz termostatu. Buď jako obyčejný termostat ZAPNUTO/ VYPNUTO nebo jako modulační termostat.\\n1: Termostat ZAPNUTO/VYPNUTO\\n2: Modulační termostat\\nPři modulační regulaci je regulován průtok chladiva ventilem AKV tak, že kolísání teploty bude menší než v případě termostatu ZAPNUTO/VYPNUTO\\nDiference (r01) pro„modulování“ nesmí být nastavena nižší než 2K.\\nU zařízení připojeného k samostatné jednotce je nutné vybrat řízení teploty ZANUTO/VYPNUTO\"],[100,20,-500,500,-240,-240,1,\"---\",\"Cutout °C\",null],[101,20,1,200,20,20,1,\"r01\",\"Differential\",\"Diference\\nPokud je teplota vyšší, než referenční + nastavená diference, zapne se relé kompresoru. Relé se znovu vypne, když teplota klesne do nastaveného referenčního rozsahu.\"],[102,500,-490,500,-100,-100,1,\"r02\",\"Max cutout°C\",\"Aby se zabránilo nastavení příliš vysoké požadované hodnoty, je možné snížit maximální přípustnou referenční hodnotu.\\nOmezení nastavení hodnoty\\nRozsah nastavení teplot v regulátoru může být omezen tak, aby nebyly náhodně nastaveny příliš vysoké nebo příliš nízké hodnoty, které by měly za následek způsobení škod.\"],[103,-500,-500,490,-250,-250,1,\"r03\",\"Min cutout°C\",\"Aby se zabránilo nastavení příliš nízké požadované hodnoty, je možné zvýšit minimální přípustnou referenční hodnotu.\\nOmezení nastavení hodnoty\\nRozsah nastavení teplot v regulátoru může být omezen tak, aby nebyly náhodně nastaveny příliš vysoké nebo příliš nízké hodnoty, které by měly za následek způsobení škod.\"],[123,100,0,100,0,0,0,\"r15\",\"Ther. S4 %\",\"Výběr senzoru pro termostat během denního provozu\\nZde definujte senzor, který je použit pro řízení termostatu. S3, S4 nebo kombinace obou. Při nastavení 0 % je použit pouze senzor S3 (Sin). Při nastavení 100 % je použit pouze senzor S4.\"],[126,0,0,1,0,0,0,\"---\",\"Night setbck\",null],[125,0,-500,500,0,0,1,\"r13\",\"Night offset\",\"Hodnota nočního útlumu\\nReferenční hodnota termostatu bude požadovaná hodnota plus tato hodnota, a to v případě, že regulátor přejde na noční provoz. (Vyberte zápornou hodnotu, má-li dojít k akumulaci chladu.)\"],[3044,0,0,1,0,0,0,\"---\",\"Forced cool.\",null],[131,20,-500,500,20,20,1,\"r21\",\"Cutout2 temp\",\"Požadovaná hodnota 2\\nTeplota vypnutí termostatu, když je aktivováno digitálním vstupem pásmo 2 termostatu.\"],[2021,100,0,100,0,0,0,\"o17\",\"Disp. S4 %\",\"Vybrat signál pro zobrazení S4%\\nZde definujete signál, který má být zobrazen na displeji. S3, S4 nebo kombinace obou.\\nPři nastavení 0 % je použit pouze senzor S3. Při nastavení 100 % je použit pouze senzor S4.\"],[104,0,-100,100,0,0,1,\"r04\",\"Disp. Adj. K\",\"Korekce zobrazené teploty\\nV případě, že teplota v místě produktů a teplota snímaná regulátorem nejsou totožné, je možné provést korekci zobrazované teploty.\"],[122,1,0,10,0,0,0,\"r16\",\"MeltInterval\",\"Funkce tání\\nPouze pro řízení chlazení (-5 až + 10 °C). Tato funkce zajišťuje, že výparník nebude zablokován námrazou. Zde můžete nastavit, jak často má tato funkce vypnout chlazení a tím umožnit tání.\"],[121,5,0,30,0,0,0,\"r17\",\"Melt period\",\"Délka tání\\nZde můžete nastavit, jak dlouho má probíhat funkce tání.\"],[182,100,0,100,100,100,0,\"r61\",\"Ther.S4% Ngt\",\"Definování a váha teplotních sond během nočního provozu\\nZde definujte senzor termostatu, který je použit pro jeho řízení. S3, S4 nebo kombinace obou. Při nastavení 0 % je použit pouze senzor S3 (Sin). Při nastavení 100 % je použit pouze senzor S4 (Sout).\"],[2612,40,-2000,2000,null,null,1,\"u90\",\"Cutin temp.\",\"Čtení aktuální hodnoty zapnutí termostatu\"],[2613,20,-2000,2000,null,null,1,\"u91\",\"Cutout temp.\",\"Čtení aktuální hodnoty vypnutí termostatu\"],[2576,30,-2000,2000,null,null,1,\"u56\",\"Display air\",\"Teplota vzduchu. Váha teplotních senzorů S3 + S4\"],[2539,0,0,999,null,null,0,\"u18\",\"Ther runtime\",\"Zobrazí probíhající čas zapnutí termostatu nebo jeho dobu trvání posledního ukončeného zapnutí\"],[2533,0,0,1,null,null,0,\"u13\",\"Night Cond.\",\"Stav denního/nočního provozu (noční provoz: zap./vyp.)\"],[2607,1,1,2,null,null,0,\"u86\",\"Ther. band\",\"Čtení regulátoru používaného pro regulaci: 1= termostat 1, 2= termostat 2\"],[2551,0,0,42,41,41,0,\"o30\",\"Refrigerant\",\"Nastavení chladiva (pouze pokud„r12“ = 0)\\nPředtím, než je spuštěno chlazení, musí být definováno chladivo. Můžete si vybrat mezi následujícími chladivy\\n1 = R12. 2 = R22. 3 = R134a. 4 = R502. 5 = R717. 6 = R13. 7 = R13b1. 8 = R23.\\n9 = R500. 10 = R503. 11 = R114. 12 = R142b. 13 = Definováno uživatelem.\\n14 = R32. 15 = R227. 16 = R401A. 17 = R507. 18 = R402A. 19 = R404A. 20 = R407C.\\n21 = R407A. 22 = R407B. 23 = R410A. 24 = R170. 25 = R290. 26 = R600. 27 = R600a.\\n28 = R744. 29 = R1270. 30 = R417A. 31 = R422A. 32 = R413A. 33 = R422D. 34 = R427A.\\n35 = R438A. 36 = XP10. 37 = R407F. 38 = R1234ze. 39 = R1234yf. 40 = R448A.\\n41 = R449A. 42 = R452A.\\nVarování: Špatný výběr chladiva může způsobit poškození nebo zničení kompresoru.\\nJiná chladiva: Zvolte hodnotu 13 a poté musí být nastaveny tři faktory – Ref.Fac a1, a2 a a3 – prostřednictvím AKM .\\n\"],[2034,-10,-10,50,-10,-10,1,\"o20\",\"MinTransPres\",\"Pe. Pracovní rozsah tlakového senzoru – min. hodnota\"],[2033,120,60,2000,120,120,1,\"o21\",\"MaxTransPres\",\"Pe. Pracovní rozsah tlakového senzoru – max. hodnota\"],[3021,30,20,200,30,30,1,\"n10\",\"Min SH\",\"Min. hodnota referenčního přehřátí\"],[3015,120,20,200,120,120,1,\"n09\",\"Max SH\",\"Max. hodnota referenčního přehřátí\"],[3013,150,-500,150,150,150,1,\"n11\",\"MOP temp.\",\"Teplota MOP\\nPokud není požadována žádná funkce MOP, vyberte VYPNUTO\"],[3019,6,3,6,6,6,0,\"n13\",\"AKV Period\",\"Perioda AKV ventilu v sekundách\\nMěla by být nastavena pouze na nižší hodnotu, jestliže jde o samostatnou jednotku a sací tlak hodně kolísá v závislosti na otevírání ventilu AKV.\"],[3022,0,0,1,0,0,0,\"---\",\"Forced close\",null]];\ncontext.global.set(\"data\", dataSet);\n\n//var myData = context.global.get(\"pnuDataSet\");\n//var dataSet = [[124,1,1,2,1,1,0,\"r14\",\"Therm. mode\",\"Funkce termostatu\\nZde je definován provoz termostatu. Buď jako obyčejný termostat ZAPNUTO/ VYPNUTO nebo jako modulační termostat.\\n1: Termostat ZAPNUTO/VYPNUTO\\n2: Modulační termostat\\nPři modulační regulaci je regulován průtok chladiva ventilem AKV tak, že kolísání teploty bude menší než v případě termostatu ZAPNUTO/VYPNUTO\\nDiference (r01) pro„modulování“ nesmí být nastavena nižší než 2K.\\nU zařízení připojeného k samostatné jednotce je nutné vybrat řízení teploty ZANUTO/VYPNUTO\"],[100,20,-500,500,-240,-240,1,\"---\",\"Cutout °C\",null],[101,20,1,200,20,20,1,\"r01\",\"Differential\",\"Diference\\nPokud je teplota vyšší, než referenční + nastavená diference, zapne se relé kompresoru. Relé se znovu vypne, když teplota klesne do nastaveného referenčního rozsahu.\"],[102,500,-490,500,-100,-100,1,\"r02\",\"Max cutout°C\",\"Aby se zabránilo nastavení příliš vysoké požadované hodnoty, je možné snížit maximální přípustnou referenční hodnotu.\\nOmezení nastavení hodnoty\\nRozsah nastavení teplot v regulátoru může být omezen tak, aby nebyly náhodně nastaveny příliš vysoké nebo příliš nízké hodnoty, které by měly za následek způsobení škod.\"],[103,-500,-500,490,-250,-250,1,\"r03\",\"Min cutout°C\",\"Aby se zabránilo nastavení příliš nízké požadované hodnoty, je možné zvýšit minimální přípustnou referenční hodnotu.\\nOmezení nastavení hodnoty\\nRozsah nastavení teplot v regulátoru může být omezen tak, aby nebyly náhodně nastaveny příliš vysoké nebo příliš nízké hodnoty, které by měly za následek způsobení škod.\"],[123,100,0,100,0,0,0,\"r15\",\"Ther. S4 %\",\"Výběr senzoru pro termostat během denního provozu\\nZde definujte senzor, který je použit pro řízení termostatu. S3, S4 nebo kombinace obou. Při nastavení 0 % je použit pouze senzor S3 (Sin). Při nastavení 100 % je použit pouze senzor S4.\"],[126,0,0,1,0,0,0,\"---\",\"Night setbck\",null],[125,0,-500,500,0,0,1,\"r13\",\"Night offset\",\"Hodnota nočního útlumu\\nReferenční hodnota termostatu bude požadovaná hodnota plus tato hodnota, a to v případě, že regulátor přejde na noční provoz. (Vyberte zápornou hodnotu, má-li dojít k akumulaci chladu.)\"],[3044,0,0,1,0,0,0,\"---\",\"Forced cool.\",null],[131,20,-500,500,20,20,1,\"r21\",\"Cutout2 temp\",\"Požadovaná hodnota 2\\nTeplota vypnutí termostatu, když je aktivováno digitálním vstupem pásmo 2 termostatu.\"],[2021,100,0,100,0,0,0,\"o17\",\"Disp. S4 %\",\"Vybrat signál pro zobrazení S4%\\nZde definujete signál, který má být zobrazen na displeji. S3, S4 nebo kombinace obou.\\nPři nastavení 0 % je použit pouze senzor S3. Při nastavení 100 % je použit pouze senzor S4.\"],[104,0,-100,100,0,0,1,\"r04\",\"Disp. Adj. K\",\"Korekce zobrazené teploty\\nV případě, že teplota v místě produktů a teplota snímaná regulátorem nejsou totožné, je možné provést korekci zobrazované teploty.\"],[122,1,0,10,0,0,0,\"r16\",\"MeltInterval\",\"Funkce tání\\nPouze pro řízení chlazení (-5 až + 10 °C). Tato funkce zajišťuje, že výparník nebude zablokován námrazou. Zde můžete nastavit, jak často má tato funkce vypnout chlazení a tím umožnit tání.\"],[121,5,0,30,0,0,0,\"r17\",\"Melt period\",\"Délka tání\\nZde můžete nastavit, jak dlouho má probíhat funkce tání.\"],[182,100,0,100,100,100,0,\"r61\",\"Ther.S4% Ngt\",\"Definování a váha teplotních sond během nočního provozu\\nZde definujte senzor termostatu, který je použit pro jeho řízení. S3, S4 nebo kombinace obou. Při nastavení 0 % je použit pouze senzor S3 (Sin). Při nastavení 100 % je použit pouze senzor S4 (Sout).\"],[2612,40,-2000,2000,null,null,1,\"u90\",\"Cutin temp.\",\"Čtení aktuální hodnoty zapnutí termostatu\"],[2613,20,-2000,2000,null,null,1,\"u91\",\"Cutout temp.\",\"Čtení aktuální hodnoty vypnutí termostatu\"],[2576,30,-2000,2000,null,null,1,\"u56\",\"Display air\",\"Teplota vzduchu. Váha teplotních senzorů S3 + S4\"],[2539,0,0,999,null,null,0,\"u18\",\"Ther runtime\",\"Zobrazí probíhající čas zapnutí termostatu nebo jeho dobu trvání posledního ukončeného zapnutí\"],[2533,0,0,1,null,null,0,\"u13\",\"Night Cond.\",\"Stav denního/nočního provozu (noční provoz: zap./vyp.)\"],[2607,1,1,2,null,null,0,\"u86\",\"Ther. band\",\"Čtení regulátoru používaného pro regulaci: 1= termostat 1, 2= termostat 2\"],[2551,0,0,42,41,41,0,\"o30\",\"Refrigerant\",\"Nastavení chladiva (pouze pokud„r12“ = 0)\\nPředtím, než je spuštěno chlazení, musí být definováno chladivo. Můžete si vybrat mezi následujícími chladivy\\n1 = R12. 2 = R22. 3 = R134a. 4 = R502. 5 = R717. 6 = R13. 7 = R13b1. 8 = R23.\\n9 = R500. 10 = R503. 11 = R114. 12 = R142b. 13 = Definováno uživatelem.\\n14 = R32. 15 = R227. 16 = R401A. 17 = R507. 18 = R402A. 19 = R404A. 20 = R407C.\\n21 = R407A. 22 = R407B. 23 = R410A. 24 = R170. 25 = R290. 26 = R600. 27 = R600a.\\n28 = R744. 29 = R1270. 30 = R417A. 31 = R422A. 32 = R413A. 33 = R422D. 34 = R427A.\\n35 = R438A. 36 = XP10. 37 = R407F. 38 = R1234ze. 39 = R1234yf. 40 = R448A.\\n41 = R449A. 42 = R452A.\\nVarování: Špatný výběr chladiva může způsobit poškození nebo zničení kompresoru.\\nJiná chladiva: Zvolte hodnotu 13 a poté musí být nastaveny tři faktory – Ref.Fac a1, a2 a a3 – prostřednictvím AKM .\\n\"],[2034,-10,-10,50,-10,-10,1,\"o20\",\"MinTransPres\",\"Pe. Pracovní rozsah tlakového senzoru – min. hodnota\"],[2033,120,60,2000,120,120,1,\"o21\",\"MaxTransPres\",\"Pe. Pracovní rozsah tlakového senzoru – max. hodnota\"],[3021,30,20,200,30,30,1,\"n10\",\"Min SH\",\"Min. hodnota referenčního přehřátí\"],[3015,120,20,200,120,120,1,\"n09\",\"Max SH\",\"Max. hodnota referenčního přehřátí\"],[3013,150,-500,150,150,150,1,\"n11\",\"MOP temp.\",\"Teplota MOP\\nPokud není požadována žádná funkce MOP, vyberte VYPNUTO\"],[3019,6,3,6,6,6,0,\"n13\",\"AKV Period\",\"Perioda AKV ventilu v sekundách\\nMěla by být nastavena pouze na nižší hodnotu, jestliže jde o samostatnou jednotku a sací tlak hodně kolísá v závislosti na otevírání ventilu AKV.\"],[3022,0,0,1,0,0,0,\"---\",\"Forced close\",null]];\n//msg.payload.m=myData;\n//msg.payload.d=dataSet;\n//context.global.set(\"pnuDataSet1\",myData);\n//msg.payload=context.global.get(\"pnuDataSet1\");\n//msg=myData;\nreturn msg;\n\n\n","outputs":1,"noerr":0,"x":570,"y":560,"wires":[["576975db.f1838c"]]},{"id":"f7eca9cf.5f6828","type":"inject","z":"171dbdc2.2de1c2","name":"","topic":"pnu 10 field","payload":"[[124,1,1,2,1,1,0,\"r14\",\"Therm. mode\",\"Funkce termostatu\\nZde je definován provoz termostatu. Buď jako obyčejný termostat ZAPNUTO/ VYPNUTO nebo jako modulační termostat.\\n1: Termostat ZAPNUTO/VYPNUTO\\n2: Modulační termostat\\nPři modulační regulaci je regulován průtok chladiva ventilem AKV tak, že kolísání teploty bude menší než v případě termostatu ZAPNUTO/VYPNUTO\\nDiference (r01) pro„modulování“ nesmí být nastavena nižší než 2K.\\nU zařízení připojeného k samostatné jednotce je nutné vybrat řízení teploty ZANUTO/VYPNUTO\"],[100,20,-500,500,-240,-240,1,\"---\",\"Cutout °C\",null],[101,20,1,200,20,20,1,\"r01\",\"Differential\",\"Diference\\nPokud je teplota vyšší, než referenční + nastavená diference, zapne se relé kompresoru. Relé se znovu vypne, když teplota klesne do nastaveného referenčního rozsahu.\"],[102,500,-490,500,-100,-100,1,\"r02\",\"Max cutout°C\",\"Aby se zabránilo nastavení příliš vysoké požadované hodnoty, je možné snížit maximální přípustnou referenční hodnotu.\\nOmezení nastavení hodnoty\\nRozsah nastavení teplot v regulátoru může být omezen tak, aby nebyly náhodně nastaveny příliš vysoké nebo příliš nízké hodnoty, které by měly za následek způsobení škod.\"],[103,-500,-500,490,-250,-250,1,\"r03\",\"Min cutout°C\",\"Aby se zabránilo nastavení příliš nízké požadované hodnoty, je možné zvýšit minimální přípustnou referenční hodnotu.\\nOmezení nastavení hodnoty\\nRozsah nastavení teplot v regulátoru může být omezen tak, aby nebyly náhodně nastaveny příliš vysoké nebo příliš nízké hodnoty, které by měly za následek způsobení škod.\"],[123,100,0,100,0,0,0,\"r15\",\"Ther. S4 %\",\"Výběr senzoru pro termostat během denního provozu\\nZde definujte senzor, který je použit pro řízení termostatu. S3, S4 nebo kombinace obou. Při nastavení 0 % je použit pouze senzor S3 (Sin). Při nastavení 100 % je použit pouze senzor S4.\"],[126,0,0,1,0,0,0,\"---\",\"Night setbck\",null],[125,0,-500,500,0,0,1,\"r13\",\"Night offset\",\"Hodnota nočního útlumu\\nReferenční hodnota termostatu bude požadovaná hodnota plus tato hodnota, a to v případě, že regulátor přejde na noční provoz. (Vyberte zápornou hodnotu, má-li dojít k akumulaci chladu.)\"],[3044,0,0,1,0,0,0,\"---\",\"Forced cool.\",null],[131,20,-500,500,20,20,1,\"r21\",\"Cutout2 temp\",\"Požadovaná hodnota 2\\nTeplota vypnutí termostatu, když je aktivováno digitálním vstupem pásmo 2 termostatu.\"],[2021,100,0,100,0,0,0,\"o17\",\"Disp. S4 %\",\"Vybrat signál pro zobrazení S4%\\nZde definujete signál, který má být zobrazen na displeji. S3, S4 nebo kombinace obou.\\nPři nastavení 0 % je použit pouze senzor S3. Při nastavení 100 % je použit pouze senzor S4.\"],[104,0,-100,100,0,0,1,\"r04\",\"Disp. Adj. K\",\"Korekce zobrazené teploty\\nV případě, že teplota v místě produktů a teplota snímaná regulátorem nejsou totožné, je možné provést korekci zobrazované teploty.\"],[122,1,0,10,0,0,0,\"r16\",\"MeltInterval\",\"Funkce tání\\nPouze pro řízení chlazení (-5 až + 10 °C). Tato funkce zajišťuje, že výparník nebude zablokován námrazou. Zde můžete nastavit, jak často má tato funkce vypnout chlazení a tím umožnit tání.\"],[121,5,0,30,0,0,0,\"r17\",\"Melt period\",\"Délka tání\\nZde můžete nastavit, jak dlouho má probíhat funkce tání.\"],[182,100,0,100,100,100,0,\"r61\",\"Ther.S4% Ngt\",\"Definování a váha teplotních sond během nočního provozu\\nZde definujte senzor termostatu, který je použit pro jeho řízení. S3, S4 nebo kombinace obou. Při nastavení 0 % je použit pouze senzor S3 (Sin). Při nastavení 100 % je použit pouze senzor S4 (Sout).\"],[2612,40,-2000,2000,null,null,1,\"u90\",\"Cutin temp.\",\"Čtení aktuální hodnoty zapnutí termostatu\"],[2613,20,-2000,2000,null,null,1,\"u91\",\"Cutout temp.\",\"Čtení aktuální hodnoty vypnutí termostatu\"],[2576,30,-2000,2000,null,null,1,\"u56\",\"Display air\",\"Teplota vzduchu. Váha teplotních senzorů S3 + S4\"],[2539,0,0,999,null,null,0,\"u18\",\"Ther runtime\",\"Zobrazí probíhající čas zapnutí termostatu nebo jeho dobu trvání posledního ukončeného zapnutí\"]]","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":600,"wires":[["397e8bc1.6d86d4"]]},{"id":"1742c9a6.e8bb56","type":"mqtt-broker","z":"","name":"foersterova","broker":"maxbox.maxbox.cz","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Blockquote

https://flows.nodered.org/flow/796e6b70ad239ea4c118d2911ff2f2ed

Correct me if I’m wrong, but I am doing the same in my code.

 <tbody>
 <tr ng-repeat="row in msg.payload">
 <td ng-repeat="item in row track by $index" >{{item}}</td>
 </tr>
 </tbody>

And this is the same approach as you do in your post here

Are you using other features from Dashboard? If not, you might be better off switching to uibuilder which wont add the restrictions, complexity and overheads of Angular.

All my application is in NR Dashboard (charts, gauges, mail messaging ...)

One big difference, that flow is not trying to get the data from context in a ui node

OK.
The only way I have found, how to "refresh" data, is to use inject node repeat function.
It injects the payload to the flow and data in the open table refreshes.

Not sure how <div ng-bind-html="msg.payload"></div> works.

I was doing many experiments with
scope.$watch Lambda function to access the Angular Scope
but not success. Maybe because I do not understand the syntax properly.

There are examples in the Node-RED cookbook and on my blog, perhaps some of them might be of help.

The link I have posted above ( scope.$watch Lambda function to access the Angular Scope) is exactly the same link to your page you have sent :smiley:
I have experimented with it all night long, but no success...

Anyway, do you think it is possible/doable to call DataTables js within the NR Dashboard Template?
Very simple example of Javascript sourced data and DataTables js code is here.

I think many people can find it useful if we have working example built on this sample code....