Parameter ändern über LUA Szene

Leider lassen sich zur Zeit keine Parameter mehr Ändern speziell bei „Nicht-fibaro-Geräten“. Genauer gesagt in Verbindung mit dem fibaro HomeCenter 2 und der Firmware 4.540. Hier zeigen wir Ihnen eine Lösung, wie Sie mit Hilfe eines kleinen Tricks doch die Parameter anpassen können.

Mit Hilfe der folgenden Szene kann ein Parameter gesetzt oder verändert werden. Hierzu müssen nur 4 Zeilen angepasst werden (Zeile 11- 14):

  • ID = die jeweilige ID des Z-Wave Geräts
  • parameter = Nummer des Parameters der geändert werden soll
  • size = Größe des Parameters
  • value = Wert des Parameters

Nachdem Sie die entsprechenden Anpassungen vorgenommen haben, müssen Sie die Änderungen speichern und anschließend die Szene starten. Wenn alles funktioniert hat, dann sehen Sie in dem Debug Fenster folgende Meldung:

Meldung wenn der Parameter geändert wurde

Szene zur Parameteranpassung

--[[
%% properties
%% globals
--]] 

--[[
Verwendung der Szene auf eigene Gefahr. Die Szene wurde im forum.fibaro.com gefunden
und funktioniert mit dem fibaro HomeCenter2 FW 4.540
--]] 

local ID = 780 -- ID vom Z-Wave Gerät
local parameter = 4 -- Parameter Nummer
local size = 1 -- Größe des Parameters
local value = 7 -- Wert des Parameters

-- Ab hier nichts mehr Ändern
    
function changeParameter(deviceid,set_parameter,set_size,set_value)
  local http = net.HTTPClient()
  http:request("http://127.0.0.1:11111/api/devices/"..deviceid, {
    options = {
    method = 'PUT',
    headers = {},
    data = '{"properties":{"parameters":[{"id":'..set_parameter..',"size":'..set_size..',"value":'..set_value..'}}]}',
    timeout = 10000
  },
  success = function(response)
            local result = response.data;
            if response.status == 200 or response.status == 201 then
              fibaro:debug('Status: ' ..response.status.. ' - Parameter geändert')
            else
              fibaro:debug('Error: ' ..response.status.. ' - Zugriff verweigert')
            end
            end,
  error = function(err)
          fibaro:debug('[ERROR] ' .. err)
          end
  })
end

changeParameter(ID,parameter,size,value)

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.