Table not updated cross devices

One of my flows is: "fs-file-listener --> dropdown --> readfile --> table"
It actually works perfectly.
The dropdown receives the existing file names from fs-file-listener and the selected item is send as msg.payload. The file is then read and finally passed on to 'table' for dashboard display.
So far so good.

If the same dashboard page is opened on another device, the item selected with dropdown on the first device is also displayed on the second device, but this change only leads to the table update on the first device, not on the second device.

On the one hand, the dropdown selection is transferred, but the update of the table on the second device is not triggered!
How should I understand this? Is there a setting that I have not taken into account?

It is obviously not limited to updating the table on the second device.
There are also two nodes that are supposed to reset the dropdown selection and the search entry.
This also does not work for an update on the second device.

To make it easier to understand, here is a picture of the flow (simplified)

@gNeandr

I don't use dashboard, but for anyone to verify any issues - please can you provide an example flow export.

```
{Flow Export}
```

I have also moved this to the Dashboard category

A example of the content of the file you are sending to the table may also be handy.

how are you updating the table data, some people report a refresh is required.

Have you tried sending the new table data in an replaceData table command.
e.g.

msg.payload = {
    command:"replaceData",
    arguments:[[table data array]]
}

Also check the complete message sent to table, and make sure there is no socketid, as the dropdown would of added one.

Thanks for the tips.
Since I have noticed that in addition to the failed table update, the update for the dropdown (DayList Selector) also fails (see my second posting), here are the nodes within the group "nodesto rest ..." :

[ { "id": "ccf926a811519bb0", "type": "ui_dropdown", "z": "49ccc67f8fc92295", "name": "DayList Selector", "label": "", "tooltip": "", "place": "Tagesplan auswählen", "group": "e2fd462af0755c51", "order": 2, "width": 4, "height": 1, "passthru": true, "multiple": false, "options": [ { "label": "", "value": "", "type": "str" } ], "payload": "", "topic": "", "topicType": "str", "className": "", "x": 380, "y": 580, "wires": [ [ "a4b997df28ec6736", "ddbcb0e58f606854" ] ] }, { "id": "fd19bb15de3dba65", "type": "delay", "z": "49ccc67f8fc92295", "name": "", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 1000, "y": 460, "wires": [ [ "ccf926a811519bb0" ] ] }, { "id": "a4b997df28ec6736", "type": "function", "z": "49ccc67f8fc92295", "name": "reset dropdown", "func": " // clear dropdown\n\nlet dayname = (msg.payload.replace(/^.*(\\\\|\\/|\\:)/, '')).replace(\".json\", \"\")\n\nlet msg1 = {};\nmsg1.payload = dayname;\n\nmsg.resetSearch = true;\nmsg.payload = \"\";\nreturn ([msg, msg1]);", "outputs": 2, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 760, "y": 480, "wires": [ [ "fd19bb15de3dba65", "32fd6bc6e01068a7" ], [ "c21e8986481bf9a7", "65eaf0d8bdef0635" ] ] }, { "id": "e2fd462af0755c51", "type": "ui_group", "name": "Gruppe1", "tab": "8a24228be010fbe6", "order": 1, "disp": false, "width": "12", "collapse": false, "className": "" }, { "id": "8a24228be010fbe6", "type": "ui_tab", "name": "Tagesliste", "icon": "dashboard", "order": 2, "disabled": false, "hidden": false } ]

Fmpov both situations have the same background ... but which?

Did you notice the advice to make sure the message you are passing in does not have a socketid property? Add a Change node set to Delete msg.socketid, or do it in the function node.

1 Like

To be honest, I had doubts that sending without socketid was the solution.
After testing, I see that it doesn't work at all. Even on the first device, the selected list is also not shown.
(NB: is msg.socketid= "" sufficient, or should it be worded differently?)

No that sets it to a blank string, which will match no devices as you found out. You need to delete it.

1 Like

In a function node.

delete msg.socketid;

or

msg.socketid = undefined;
1 Like

@Colin @dceejay @E1cid

Hello friends,

Thank you for being so insistent.
Finally the advice with msg.socketid = undefined; helped.
Since the flow is somewhat complex, this has to be inserted in some places. A bit awkward, but the solution counts. Thank you!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.