Werte in "thingspeak" Visualisieren (Diagramme)

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.

Cool :slight_smile: Werde ich mir auf jeden Fall mal anschauen. Danke für deinen Beitrag.

Gruß

Immer gerne.

Hier noch der Vollständigkeit halber der Link zu meinem channel:
https://thingspeak.com/channels/238083

Hallo nevv

könntest Du vielleicht nochmal erklären, wie ich das bei Thingspeak einstellen muss, dass ich die Temperaturen angezeigt bekomme?
Habe den Api Key eingefügt und die ID des Temperatur Sensors. Irgendwie erhalte ich dir aber nichts. Das Diagramm sieht auch anders aus als bei Dir.

Gruß Stefan

Hallo Stefan,

hast du mal den unveränderten Code mit deinem Key getestet?!
Denn die local value1 = tonumber(fibaro:getValue(3, "Temperature")); ist die Temperatur welche im HC2 angezeigt wird und somit bei allen usern gleich.

Bzgl. der Optik der Diagramme: das Layout kann man anpassen… deshalb Sieht es bei mir anders aus.

vg