ich habe lange gesucht und getestet, aber leider nichts gefunden was funktioniert.
Ich möchte Werte aus einigen meiner Fibaro Sensoren auf mein KNX übertragen.
Mit dem Homeserver von Gira funktioniert das sehr gut, hiermit konnte ich erfolgreich z.b. einen Öffnungsmelder/Bewegungsmelder integrieren.
Leider habe ich es noch nicht geschafft Werte zu übertragen z.b. eine Temperatur oder Helligkeitswert
was mache ich falsch?
–[[
%% properties
141 value
%% globals
–]]
local co2ID = 30 – ID des netatmo co2-Sensor
local co2 = Wert(fibaro:getValue(co2ID, “value”))
local startSource = fibaro:getSourceTrigger()
if (co2 > 1) then
local http = net.HTTPClient()
http:request('http://IPGiraHS:34100/CO2Wohnzimmer520.0, { --Anstatt dem 520.0 müsste die Variable co2 rein–
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
ja komischerweise läuft es es postet quasi den Wert 520 jedoch nicht die Variable co2.
Ich möchte das er die Daten an den Gira sendet sobald sich der CO2 wert ändert.
Funktioniert aber auch nur beim manuellen ausführen, nicht, wenn die Szene getriggert werden soll. Dafür müsstest du oben die ID von dem Sensor einfügen.
local co2 = Wert(fibaro:getValue(co2ID, “value”))
Das kann so nicht funktionieren, der Wert muss weg. Dann steht der CO2-Wert in der Variablen co2.
http:request('http://IPGiraHS:34100/' ..co2.. '', { –Anstatt dem 520.0 müsste die Variable co2 rein–
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
end
})
--[[
%% properties
%% events
%% globals
30 value
--]]
local co2 = (fibaro:getValue(30, 'value'))
local trigger = fibaro:getSourceTrigger()
local http = net.HTTPClient()
http:request('‘http://IPGiraHS:34100/CO2Wohnzimmer/' ..co2.. '', { –Anstatt dem 520.0 müsste die Variable co2 rein–
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
})
er sagt mir [DEBUG] 19:09:28: line 11: unexpected symbol near char(226) die http Linie ist etwas länger als die oben. Kann er vielleicht damit nicht zurecht kommen? Ich kann sie leider nicht posten da sie Seriennummer usw. enthält
--[[
%% properties
%% events
%% globals
30 value
--]]
local co2 = (fibaro:getValue(30, 'value'))
local trigger = fibaro:getSourceTrigger()
local http = net.HTTPClient()
http:request('http://IPGiraHS:34100/CO2Wohnzimmer' ..co2.. '', {
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
})
[DEBUG] 19:27:37: line 20: unexpected symbol near ‘}’
--[[
%% properties
%% events
%% globals
30 value
--]]
local co2 = (fibaro:getValue(30, 'value'))
local trigger = fibaro:getSourceTrigger()
local http = net.HTTPClient()
http:request('http://IPGiraHS:50300/LuxWZ520' ..co2, {
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
})
[DEBUG] 06:12:06: line 20: unexpected symbol near ‘}’
Hallo leider auch nichts, gibts noch andere Ideen?
--[[
%% properties
%% events
%% globals
30 value
--]]
local co2 = (fibaro:getValue(30, 'value'))
local trigger = fibaro:getSourceTrigger()
local http = net.HTTPClient()
local url = 'http://IPGiraHS:50300/LuxWZ' ..co2
http:request('url' , {
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
end
})
Hallo hast recht habe ich übersehen.
nun kommt aber folgendes
attempt to call local ‘url’ (a string value)
--[[
%% properties
%% events
%% globals
30 value
--]]
local co2 = (fibaro:getValue(30, 'value'))
local trigger = fibaro:getSourceTrigger()
local http = net.HTTPClient()
local url = 'IPGiraHS:50300/LuxWZ' ..co2
http:request (url {
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
end
})
--[[
%% properties
%% events
%% globals
30 value
--]]
local co2 = (fibaro:getValue(30, 'value'))
local trigger = fibaro:getSourceTrigger()
local http = net.HTTPClient()
local url = 'http://GiraIP:50300/LuxWZ' ..co2
http:request(url, {
success = function(resp)
if resp.status == 200 then
fibaro:debug(resp.status)
else
fibaro:debug(resp.status)
end
end
})
Ich nochmal,
leider funktioniert der Trigger nicht, wenn die Wert Sich ändern gibt er sie nicht weiter. Ich muss es immer Manuell anstossen.
Was ist noch falsch?