Very simple solution, but I just put up a single flow (called watchdog of course) that subscribes to "hart beat" and value topics of items I am watching (in my case via openhab, but principle is the same for vanilla mqtt) and then have a "timeout node" for each item. Timeout node triggers if no message comes in in a predefined period (per item, some send data every few minutes, some every few hours) But each arduino node has defined hart-beat interval In my case all timeouts go to a function that formats a message in format "<itemname> not seen in <timeframe>" and that is logged and sent to an email once a day. But you can as well put it into a dashboard as Yveaux showed. I also like use of subflows whenever possible, but in my case all is happening on one flow and in two nodes, one that connects to mqtt hearbeat and one node that triggers if no data comes in (sorry I forgot the name, but it is a default node-red node)