Filter JSON Object to show only some messages

Hi there,

I`m trying to implement a notification system via Telegram to show notifications from my Ubiquiti Unifi Platform. I've already set the API query to Unifi Controller to query what i want, but it gives me all alerts and not only the ones i need.

This is the output from the Unifi Controller:

{
  "payload": {
    "meta": {
      "rc": "ok",
      "count": 54
    },
    "data": [
      {
        "_id": "61269d6d66923f10392ead22",
        "archived": false,
        "key": "EVT_AP_Lost_Contact",
        "ap": "xx:xx:c2:f9:xx:xx",
        "ap_name": "Unifi Infantil",
        "ap_model": "U7LT",
        "ap_displayName": "Unifi Infantil",
        "subsystem": "wlan",
        "is_negative": true,
        "site_id": "60e0ccc69be0f1039dde38fb",
        "time": 1629920621661,
        "datetime": "2021-08-25T19:43:41Z",
        "msg": "AP[xx:xx:c2:f9:xx:xx] was disconnected"
      },
      {
        "_id": "61269b5166923f10392ea8f4",
        "archived": false,
        "key": "EVT_AP_Lost_Contact",
        "ap": "xx:xx:c2:f9:xx:xx",
        "ap_name": "Unifi Infantil",
        "ap_model": "U7LT",
        "ap_displayName": "Unifi Infantil",
        "subsystem": "wlan",
        "is_negative": true,
        "site_id": "60e0ccc69be0f1039dde38fb",
        "time": 1629920081661,
        "datetime": "2021-08-25T19:34:41Z",
        "msg": "AP[xx:xx:c2:f9:xx:xx] was disconnected"
      },
      {
        "_id": "6126777466923f10392e4ead",
        "archived": false,
        "gw": "xx:xx:bf:xx:7d:xx",
        "iface": "eth9",
        "state": "failover",
        "key": "EVT_GW_WANTransition",
        "dm": "xx:xx:bf:xx:7d:xx",
        "dm_name": "UDM-Pro",
        "dm_model": "UDMPRO",
        "dm_displayName": "UDM-Pro",
        "gw_displayName": "UDM-Pro",
        "subsystem": "lan",
        "is_negative": false,
        "site_id": "60e0ccc69be0f1039dde38fb",
        "time": 1629910900000,
        "datetime": "2021-08-25T17:01:40Z",
        "msg": "Gateway[xx:xx:bf:xx:7d:xx] WAN iface eth9 transition to state failover"
      },
      {
        "_id": "6126777366923f10392e4eab",
        "archived": false,
        "gw": "xx:xx:bf:xx:7d:xx",
        "iface": "ppp0",
        "state": "active",
        "key": "EVT_GW_WANTransition",
        "dm": "xx:xx:bf:xx:7d:xx",
        "dm_name": "UDM-Pro",
        "dm_model": "UDMPRO",
        "dm_displayName": "UDM-Pro",
        "gw_displayName": "UDM-Pro",
        "subsystem": "lan",
        "is_negative": false,
        "site_id": "60e0ccc69be0f1039dde38fb",
        "time": 1629910899000,
        "datetime": "2021-08-25T17:01:39Z",
        "msg": "Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state active"
      },
      {
        "_id": "6126776566923f10392e4e98",
        "archived": false,
        "gw": "xx:xx:bf:xx:7d:xx",
        "iface": "ppp0",
        "state": "inactive",
        "key": "EVT_GW_WANTransition",
        "dm": "xx:xx:bf:xx:7d:xx",
        "dm_name": "UDM-Pro",
        "dm_model": "UDMPRO",
        "dm_displayName": "UDM-Pro",
        "gw_displayName": "UDM-Pro",
        "subsystem": "lan",
        "is_negative": false,
        "site_id": "60e0ccc69be0f1039dde38fb",
        "time": 1629910885000,
        "datetime": "2021-08-25T17:01:25Z",
        "msg": "Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state inactive"
      }

    ]
  },
  "inputMsg": {
    "_msgid": "3f34798d5f650a0e",
    "payload": 1629920720052,
    "topic": ""
  },
  "_msgid": "4fc9e55d28ac33c2"
}

What i need is to filter only the messages (msg field) from all messages that have states like "state": "inactive", "state": "active", "state": "failover". I`ll the output the state and msg to a Telegram Sender node.

It would also be nice to correctly format the output, like :
"msg": "Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state inactive"

Become a message like "WAN interface ppp0 transition to state inactive"

Can you help me achieve this?

This should get you moving...

[{"id":"9a201e2a1f7ccf7c","type":"function","z":"f542fe9c.732af","name":"your data","func":"return {\n    \"payload\": {\n        \"meta\": {\n            \"rc\": \"ok\",\n                \"count\": 54\n        },\n        \"data\": [\n            {\n                \"_id\": \"61269d6d66923f10392ead22\",\n                \"archived\": false,\n                \"key\": \"EVT_AP_Lost_Contact\",\n                \"ap\": \"xx:xx:c2:f9:xx:xx\",\n                \"ap_name\": \"Unifi Infantil\",\n                \"ap_model\": \"U7LT\",\n                \"ap_displayName\": \"Unifi Infantil\",\n                \"subsystem\": \"wlan\",\n                \"is_negative\": true,\n                \"site_id\": \"60e0ccc69be0f1039dde38fb\",\n                \"time\": 1629920621661,\n                \"datetime\": \"2021-08-25T19:43:41Z\",\n                \"msg\": \"AP[xx:xx:c2:f9:xx:xx] was disconnected\"\n            },\n            {\n                \"_id\": \"61269b5166923f10392ea8f4\",\n                \"archived\": false,\n                \"key\": \"EVT_AP_Lost_Contact\",\n                \"ap\": \"xx:xx:c2:f9:xx:xx\",\n                \"ap_name\": \"Unifi Infantil\",\n                \"ap_model\": \"U7LT\",\n                \"ap_displayName\": \"Unifi Infantil\",\n                \"subsystem\": \"wlan\",\n                \"is_negative\": true,\n                \"site_id\": \"60e0ccc69be0f1039dde38fb\",\n                \"time\": 1629920081661,\n                \"datetime\": \"2021-08-25T19:34:41Z\",\n                \"msg\": \"AP[xx:xx:c2:f9:xx:xx] was disconnected\"\n            },\n            {\n                \"_id\": \"6126777466923f10392e4ead\",\n                \"archived\": false,\n                \"gw\": \"xx:xx:bf:xx:7d:xx\",\n                \"iface\": \"eth9\",\n                \"state\": \"failover\",\n                \"key\": \"EVT_GW_WANTransition\",\n                \"dm\": \"xx:xx:bf:xx:7d:xx\",\n                \"dm_name\": \"UDM-Pro\",\n                \"dm_model\": \"UDMPRO\",\n                \"dm_displayName\": \"UDM-Pro\",\n                \"gw_displayName\": \"UDM-Pro\",\n                \"subsystem\": \"lan\",\n                \"is_negative\": false,\n                \"site_id\": \"60e0ccc69be0f1039dde38fb\",\n                \"time\": 1629910900000,\n                \"datetime\": \"2021-08-25T17:01:40Z\",\n                \"msg\": \"Gateway[xx:xx:bf:xx:7d:xx] WAN iface eth9 transition to state failover\"\n            },\n            {\n                \"_id\": \"6126777366923f10392e4eab\",\n                \"archived\": false,\n                \"gw\": \"xx:xx:bf:xx:7d:xx\",\n                \"iface\": \"ppp0\",\n                \"state\": \"active\",\n                \"key\": \"EVT_GW_WANTransition\",\n                \"dm\": \"xx:xx:bf:xx:7d:xx\",\n                \"dm_name\": \"UDM-Pro\",\n                \"dm_model\": \"UDMPRO\",\n                \"dm_displayName\": \"UDM-Pro\",\n                \"gw_displayName\": \"UDM-Pro\",\n                \"subsystem\": \"lan\",\n                \"is_negative\": false,\n                \"site_id\": \"60e0ccc69be0f1039dde38fb\",\n                \"time\": 1629910899000,\n                \"datetime\": \"2021-08-25T17:01:39Z\",\n                \"msg\": \"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state active\"\n            },\n            {\n                \"_id\": \"6126776566923f10392e4e98\",\n                \"archived\": false,\n                \"gw\": \"xx:xx:bf:xx:7d:xx\",\n                \"iface\": \"ppp0\",\n                \"state\": \"inactive\",\n                \"key\": \"EVT_GW_WANTransition\",\n                \"dm\": \"xx:xx:bf:xx:7d:xx\",\n                \"dm_name\": \"UDM-Pro\",\n                \"dm_model\": \"UDMPRO\",\n                \"dm_displayName\": \"UDM-Pro\",\n                \"gw_displayName\": \"UDM-Pro\",\n                \"subsystem\": \"lan\",\n                \"is_negative\": false,\n                \"site_id\": \"60e0ccc69be0f1039dde38fb\",\n                \"time\": 1629910885000,\n                \"datetime\": \"2021-08-25T17:01:25Z\",\n                \"msg\": \"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state inactive\"\n            }\n\n        ]\n    },\n    \"inputMsg\": {\n        \"_msgid\": \"3f34798d5f650a0e\",\n            \"payload\": 1629920720052,\n                \"topic\": \"\"\n    },\n    \"_msgid\": \"4fc9e55d28ac33c2\"\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1640,"y":460,"wires":[["8ba50f975d052fe2"]]},{"id":"7d25f339c2e6c27e","type":"inject","z":"f542fe9c.732af","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":1630,"y":380,"wires":[["9a201e2a1f7ccf7c"]]},{"id":"8ba50f975d052fe2","type":"function","z":"f542fe9c.732af","name":"filter","func":"/*\nWhat i need is to filter only the messages (msg field) from all messages that have states like \"state\": \"inactive\", \"state\": \"active\", \"state\": \"failover\". I`ll the output the state and msg to a Telegram Sender node.\n\nIt would also be nice to correctly format the output, like :\n\"msg\": \"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state inactive\"\n\nBecome a message like \"WAN interface ppp0 transition to state inactive\"\n*/\n\nconst data = msg.payload.data;\nconst STATES = [\"inactive\", \"active\", \"failover\"];\nconst filtered = data.filter(e => STATES.indexOf(e.state) >= 0);\nmsg.filtered = filtered; //store full objects in filtered\nmsg.payload = filtered.map(e => e.msg); //just return array of states\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1790,"y":460,"wires":[["0b317270ecad246d","c882c425988b4fcd"]]},{"id":"0b317270ecad246d","type":"debug","z":"f542fe9c.732af","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1950,"y":500,"wires":[]},{"id":"c882c425988b4fcd","type":"debug","z":"f542fe9c.732af","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"filtered","targetType":"msg","statusVal":"payload","statusType":"auto","x":1950,"y":420,"wires":[]}]

A small variation to Steve's solution ..
with the processing of the 'msg' string

[{"id":"ec6476e91a530042","type":"inject","z":"4895ea10b4ee9ead","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"meta\":{\"rc\":\"ok\",\"count\":54},\"data\":[{\"_id\":\"61269d6d66923f10392ead22\",\"archived\":false,\"key\":\"EVT_AP_Lost_Contact\",\"ap\":\"xx:xx:c2:f9:xx:xx\",\"ap_name\":\"Unifi Infantil\",\"ap_model\":\"U7LT\",\"ap_displayName\":\"Unifi Infantil\",\"subsystem\":\"wlan\",\"is_negative\":true,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629920621661,\"datetime\":\"2021-08-25T19:43:41Z\",\"msg\":\"AP[xx:xx:c2:f9:xx:xx] was disconnected\"},{\"_id\":\"61269b5166923f10392ea8f4\",\"archived\":false,\"key\":\"EVT_AP_Lost_Contact\",\"ap\":\"xx:xx:c2:f9:xx:xx\",\"ap_name\":\"Unifi Infantil\",\"ap_model\":\"U7LT\",\"ap_displayName\":\"Unifi Infantil\",\"subsystem\":\"wlan\",\"is_negative\":true,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629920081661,\"datetime\":\"2021-08-25T19:34:41Z\",\"msg\":\"AP[xx:xx:c2:f9:xx:xx] was disconnected\"},{\"_id\":\"6126777466923f10392e4ead\",\"archived\":false,\"gw\":\"xx:xx:bf:xx:7d:xx\",\"iface\":\"eth9\",\"state\":\"failover\",\"key\":\"EVT_GW_WANTransition\",\"dm\":\"xx:xx:bf:xx:7d:xx\",\"dm_name\":\"UDM-Pro\",\"dm_model\":\"UDMPRO\",\"dm_displayName\":\"UDM-Pro\",\"gw_displayName\":\"UDM-Pro\",\"subsystem\":\"lan\",\"is_negative\":false,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629910900000,\"datetime\":\"2021-08-25T17:01:40Z\",\"msg\":\"Gateway[xx:xx:bf:xx:7d:xx] WAN iface eth9 transition to state failover\"},{\"_id\":\"6126777366923f10392e4eab\",\"archived\":false,\"gw\":\"xx:xx:bf:xx:7d:xx\",\"iface\":\"ppp0\",\"state\":\"active\",\"key\":\"EVT_GW_WANTransition\",\"dm\":\"xx:xx:bf:xx:7d:xx\",\"dm_name\":\"UDM-Pro\",\"dm_model\":\"UDMPRO\",\"dm_displayName\":\"UDM-Pro\",\"gw_displayName\":\"UDM-Pro\",\"subsystem\":\"lan\",\"is_negative\":false,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629910899000,\"datetime\":\"2021-08-25T17:01:39Z\",\"msg\":\"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state active\"},{\"_id\":\"6126776566923f10392e4e98\",\"archived\":false,\"gw\":\"xx:xx:bf:xx:7d:xx\",\"iface\":\"ppp0\",\"state\":\"inactive\",\"key\":\"EVT_GW_WANTransition\",\"dm\":\"xx:xx:bf:xx:7d:xx\",\"dm_name\":\"UDM-Pro\",\"dm_model\":\"UDMPRO\",\"dm_displayName\":\"UDM-Pro\",\"gw_displayName\":\"UDM-Pro\",\"subsystem\":\"lan\",\"is_negative\":false,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629910885000,\"datetime\":\"2021-08-25T17:01:25Z\",\"msg\":\"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state inactive\"}]}","payloadType":"json","x":200,"y":1320,"wires":[["9e0e2ab364dc92a5"]]},{"id":"c787dedd80f46105","type":"debug","z":"4895ea10b4ee9ead","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":530,"y":1320,"wires":[]},{"id":"9e0e2ab364dc92a5","type":"function","z":"4895ea10b4ee9ead","name":"","func":"let data = msg.payload.data\n\n// \"state\": \"inactive\", \"state\": \"active\", \"state\": \"failover\".\n\nlet result = []\n\ndata.forEach(el => {\n    if (el.state && (el.state === \"inactive\" || el.state === \"active\" || el.state === \"failover\")) {\n        el.msg = el.msg.split(\"]\")[1].trim().replace('iface', 'interface')\n        result.push(el)\n    }\n})\n\nmsg.payload = result;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":360,"y":1320,"wires":[["c787dedd80f46105"]]}]

Hi,

Both solutions worked fine, thank you Steve and UnborN. Now i only need to extract the values into individual messages as strings, because the nodes i'm using only accept strings as input.

[
  {
    "_id": "6126777466923f10392e4ead",
    "archived": false,
    "gw": "f4:92:bf:97:7d:ee",
    "iface": "eth9",
    "state": "failover",
    "key": "EVT_GW_WANTransition",
    "dm": "f4:92:bf:97:7d:ee",
    "dm_name": "UDM-Pro",
    "dm_model": "UDMPRO",
    "dm_displayName": "UDM-Pro",
    "gw_displayName": "UDM-Pro",
    "subsystem": "lan",
    "is_negative": false,
    "site_id": "60e0ccc69be0f1039dde38fb",
    "time": 1629910900000,
    "datetime": "2021-08-25T17:01:40Z",
    "msg": "WAN interface eth9 transition to state failover"
  },
  {
    "_id": "6124e565d0f84c103c4ed0b5",
    "archived": false,
    "gw": "f4:92:bf:97:7d:ee",
    "iface": "eth9",
    "state": "failover",
    "key": "EVT_GW_WANTransition",
    "dm": "f4:92:bf:97:7d:ee",
    "dm_name": "UDM-Pro",
    "dm_model": "UDMPRO",
    "dm_displayName": "UDM-Pro",
    "gw_displayName": "UDM-Pro",
    "subsystem": "lan",
    "is_negative": false,
    "site_id": "60e0ccc69be0f1039dde38fb",
    "time": 1629807973000,
    "datetime": "2021-08-24T12:26:13Z",
    "msg": "WAN interface eth9 transition to state failover"
  }
]

I need only the value from the msg field as separate strings. Can it be done?

I tried parsing the json, splitting, but had no success. I thought about a combination of split and switch nodes, but couldn`t make it work

You mentioned in your 1st post that the msgs are intended for Telegram.
You can structure the individual msgs all from the same Function and send seperate msgs.
I'm not exactly sure on the Telegram msg structure but here's some test flow to experiment with.

[{"id":"ec6476e91a530042","type":"inject","z":"4895ea10b4ee9ead","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"meta\":{\"rc\":\"ok\",\"count\":54},\"data\":[{\"_id\":\"61269d6d66923f10392ead22\",\"archived\":false,\"key\":\"EVT_AP_Lost_Contact\",\"ap\":\"xx:xx:c2:f9:xx:xx\",\"ap_name\":\"Unifi Infantil\",\"ap_model\":\"U7LT\",\"ap_displayName\":\"Unifi Infantil\",\"subsystem\":\"wlan\",\"is_negative\":true,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629920621661,\"datetime\":\"2021-08-25T19:43:41Z\",\"msg\":\"AP[xx:xx:c2:f9:xx:xx] was disconnected\"},{\"_id\":\"61269b5166923f10392ea8f4\",\"archived\":false,\"key\":\"EVT_AP_Lost_Contact\",\"ap\":\"xx:xx:c2:f9:xx:xx\",\"ap_name\":\"Unifi Infantil\",\"ap_model\":\"U7LT\",\"ap_displayName\":\"Unifi Infantil\",\"subsystem\":\"wlan\",\"is_negative\":true,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629920081661,\"datetime\":\"2021-08-25T19:34:41Z\",\"msg\":\"AP[xx:xx:c2:f9:xx:xx] was disconnected\"},{\"_id\":\"6126777466923f10392e4ead\",\"archived\":false,\"gw\":\"xx:xx:bf:xx:7d:xx\",\"iface\":\"eth9\",\"state\":\"failover\",\"key\":\"EVT_GW_WANTransition\",\"dm\":\"xx:xx:bf:xx:7d:xx\",\"dm_name\":\"UDM-Pro\",\"dm_model\":\"UDMPRO\",\"dm_displayName\":\"UDM-Pro\",\"gw_displayName\":\"UDM-Pro\",\"subsystem\":\"lan\",\"is_negative\":false,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629910900000,\"datetime\":\"2021-08-25T17:01:40Z\",\"msg\":\"Gateway[xx:xx:bf:xx:7d:xx] WAN iface eth9 transition to state failover\"},{\"_id\":\"6126777366923f10392e4eab\",\"archived\":false,\"gw\":\"xx:xx:bf:xx:7d:xx\",\"iface\":\"ppp0\",\"state\":\"active\",\"key\":\"EVT_GW_WANTransition\",\"dm\":\"xx:xx:bf:xx:7d:xx\",\"dm_name\":\"UDM-Pro\",\"dm_model\":\"UDMPRO\",\"dm_displayName\":\"UDM-Pro\",\"gw_displayName\":\"UDM-Pro\",\"subsystem\":\"lan\",\"is_negative\":false,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629910899000,\"datetime\":\"2021-08-25T17:01:39Z\",\"msg\":\"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state active\"},{\"_id\":\"6126776566923f10392e4e98\",\"archived\":false,\"gw\":\"xx:xx:bf:xx:7d:xx\",\"iface\":\"ppp0\",\"state\":\"inactive\",\"key\":\"EVT_GW_WANTransition\",\"dm\":\"xx:xx:bf:xx:7d:xx\",\"dm_name\":\"UDM-Pro\",\"dm_model\":\"UDMPRO\",\"dm_displayName\":\"UDM-Pro\",\"gw_displayName\":\"UDM-Pro\",\"subsystem\":\"lan\",\"is_negative\":false,\"site_id\":\"60e0ccc69be0f1039dde38fb\",\"time\":1629910885000,\"datetime\":\"2021-08-25T17:01:25Z\",\"msg\":\"Gateway[xx:xx:bf:xx:7d:xx] WAN iface ppp0 transition to state inactive\"}]}","payloadType":"json","x":330,"y":860,"wires":[["9e0e2ab364dc92a5","01628a09f3c8d3bd"]]},{"id":"c787dedd80f46105","type":"debug","z":"4895ea10b4ee9ead","name":"2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":640,"y":860,"wires":[]},{"id":"9e0e2ab364dc92a5","type":"function","z":"4895ea10b4ee9ead","name":"","func":"let data = msg.payload.data\nlet telegramMsg = {}\n\ndata.forEach(el => {\n    if (el.state && (el.state === \"inactive\" || el.state === \"active\" || el.state === \"failover\")) {\n        el.msg = el.msg.split(\"]\")[1].trim().replace('iface', 'interface')\n\n        telegramMsg.payload = {\n            \"chatId\": \"xxxxx\",\n            \"type\": \"message\",\n            \"content\": `Date: ${el.datetime}\\nAlert: ${el.msg}`\n        }\n\n        node.send(telegramMsg);  // node.send() instead of return msg for individual msgs\n    }\n})\n\n//msg.payload = result;\n\n//return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":860,"wires":[["c787dedd80f46105"]]},{"id":"01628a09f3c8d3bd","type":"debug","z":"4895ea10b4ee9ead","name":"1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":420,"y":760,"wires":[]},{"id":"57259d02039d9cf2","type":"comment","z":"4895ea10b4ee9ead","name":"... to telegram","info":"","x":670,"y":800,"wires":[]}]

ps. im sure there must be some limitation on how many msgs you can send at once, so be little careful if you have many alerts not to flood their server.

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