Title - Log Internet Performance to Influxdb
Summary - Simple flow inspired by @aaiyar flow Periodic Internet speed test Runs Speed test once and hour and loads results into InfluxDB. I then display this data in Grafana like so
Picture -
Flow -
Flow
[
{
"id": "a62ad2e7.fd269",
"type": "group",
"z": "1eaaefad.e170d",
"name": "Log Internet Performace",
"style": {
"fill": "#bfdbef",
"label": true,
"color": "#0070c0"
},
"nodes": [
"a490996e.db3f48",
"8e2464a.269b298",
"20de07a5.c70fe8",
"c5e8e8e6.e3cd88",
"5aa9c929.cf6938",
"6f0d77a5.ca1a98",
"e8ee45b1.728598",
"c5a5a41.688cd58",
"25fbc818.5c1ed8"
],
"x": 114,
"y": 1279,
"w": 982,
"h": 242
},
{
"id": "a490996e.db3f48",
"type": "cronplus",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"name": "15 minutes past the hour",
"outputField": "payload",
"timeZone": "America/New_York",
"persistDynamic": false,
"commandResponseMsgOutput": "output1",
"outputs": 1,
"options": [
{
"name": "15 past every hour",
"topic": "15 past every hour",
"payloadType": "str",
"payload": "start",
"expressionType": "cron",
"expression": "15 * * * *",
"location": "",
"offset": "0",
"solarType": "all",
"solarEvents": "sunrise,sunset"
}
],
"x": 270,
"y": 1480,
"wires": [
[
"8e2464a.269b298"
]
]
},
{
"id": "8e2464a.269b298",
"type": "speedtest",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"name": "Speedtest",
"maxTime": "120000",
"x": 520,
"y": 1440,
"wires": [
[
"5aa9c929.cf6938",
"6f0d77a5.ca1a98",
"e8ee45b1.728598"
]
]
},
{
"id": "20de07a5.c70fe8",
"type": "inject",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 330,
"y": 1340,
"wires": [
[
"8e2464a.269b298"
]
]
},
{
"id": "c5e8e8e6.e3cd88",
"type": "influxdb out",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"influxdb": "4bcce287.69402c",
"name": "Influxdb Upload",
"measurement": "Upload",
"precision": "",
"retentionPolicy": "",
"x": 970,
"y": 1320,
"wires": []
},
{
"id": "5aa9c929.cf6938",
"type": "change",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"name": "Upload",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.speeds.upload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 1320,
"wires": [
[
"c5e8e8e6.e3cd88"
]
]
},
{
"id": "6f0d77a5.ca1a98",
"type": "change",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"name": "Download",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.speeds.download",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 1380,
"wires": [
[
"c5a5a41.688cd58"
]
]
},
{
"id": "e8ee45b1.728598",
"type": "change",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"name": "Ping",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.server.ping",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 1440,
"wires": [
[
"25fbc818.5c1ed8"
]
]
},
{
"id": "c5a5a41.688cd58",
"type": "influxdb out",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"influxdb": "4bcce287.69402c",
"name": "Influxdb Download",
"measurement": "Download",
"precision": "",
"retentionPolicy": "",
"x": 980,
"y": 1380,
"wires": []
},
{
"id": "25fbc818.5c1ed8",
"type": "influxdb out",
"z": "1eaaefad.e170d",
"g": "a62ad2e7.fd269",
"influxdb": "4bcce287.69402c",
"name": "Influxdb Ping",
"measurement": "Ping",
"precision": "",
"retentionPolicy": "",
"x": 960,
"y": 1440,
"wires": []
},
{
"id": "4bcce287.69402c",
"type": "influxdb",
"z": "",
"hostname": "192.168.1.183",
"port": "8086",
"protocol": "http",
"database": "hubitat",
"name": "",
"usetls": false,
"tls": ""
}
]