Hallo zusammen,
es gibt zwar schon den Artikel “Fibaro Home Center – Sensorwerte grafisch als Diagramm darstellen” aber Ergänzend dazu habe ich eine szene erstellt die mit sehr wenig Aufwand Werte über die IoT-Plattform “thingspeak” visualisiert.
Nach der Anmeldung auf thingspeak.com und dem Erstellen eines „channels“ bekommt man einen „Write API Key“ den man für den nachstehenden code benötigt (Zeile 13).
In dem Beispiel wird die Temperatur (Zeile 12 – value1
) geloggt.
--[[
%% properties
%% autostart
%% events
%% globals
--]]
local sourceTrigger = fibaro:getSourceTrigger()
function thingspeak()
fibaro:debug("upload der werte")
local value1 = tonumber(fibaro:getValue(3, "Temperature"));
local key = "xxxxxxxxxxxxxxxxx"
local requestBody = '/update?key='..key ..'&field1='..value1
local selfhttp = net.HTTPClient()
selfhttp:request('https://thingspeak.com'..requestBody,
{options={method = 'POST', timeout = 5000},})
--------- timeout von 15min ---------
setTimeout(thingspeak, 900000);
end
------------ ### Code ### ------------
if (sourceTrigger["type"] == "autostart") then
thingspeak();
end
Sollen weitere Daten z.B. der Stromverbrauch oder Temperaturen geloggt werden müssen nur weitere local values
angelegt werden:
local value2 = fibaro:getValue(19, "value")
local value3 = fibaro:getValue(140, "power")
und im requestBody müssen diese dann hinzugefügt werden:
local requestBody = '/update?key='…key …'&field1='…value1 …'&field2='…value2 …'&field3='…value3
Die Daten werden alle 15min übermittelt.