Hallo
Ich habe es in einem VD eingepflegt und ein Schichtarbeits VD gemach.
Nur zur Inspiration.
wen es interessiert hier einen funktionierenden Code aus dem Französischem Forum so umgebastelt von mir den man gans sicher etwas aufräumen kann.
Jetzt kann man für VD bauen das man elegant die Temperatur manuell für eine bestimmte zeit setzen kann.
--------------------------------
-- User Settings
----------------------------------
-- nom de la variable qui définit le niveau de Zuhause
local tmpOff = 0 -- température pour HP Off
local handTemperature = 25
local handTimestamp = (os.time()+1*60*60)
local varZuhause = fibaro:getGlobalValue("ZustandDesHauses")
local varUrlaub = fibaro:getGlobalValue("ZustandDesHauses")
-- ID des HeatingPanels Hier Traegt man ein was zurück gestelt werden soll.
local hpID = {
"WohnZimmer", 5,
"Küche", 6,
"Bad", 7,
"Schlafzimmer", 8,
"Frur und WC", 56,
}
----------------------------------
-- DO not change bellow this line
---------------------------------
local HC2 = Net.FHttp("127.0.0.1",11111)
-- Ermitteln der Firmware-Version
local GETheating = "/api/panels/heating/"
payload = "/api/settings/info"
response, status, errorCode = HC2:GET(payload)
if tonumber(status) == 200
then
jsonTable = json.decode(response)
-- version = "4.x"
GETheating = "/api/panels/heating/"
else
fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..response..'</span>')
end
-- Funktion Update-Flächenheizung.
-- und handTemperature == 0, dann ist es schon im automatik.
function HeatPanel(id,HandTmp)
jsonpanel = HC2:GET(GETheating ..id)
jsontable = json.decode(jsonpanel)
--handTimestamp = jsontable.properties.handTimestamp
--handTemperature = jsontable.properties.handTemperature
name = jsontable.name
NouveauPanel = ('{"id":' ..id.. ',"name":"'..name.. '","properties":{"handTemperature":' ..handTemperature.. ',"handTimestamp": ' ..handTimestamp.. ',"vacationTemperature":' ..HandTmp.. '}}')
HC2:PUT(GETheating ..id, NouveauPanel)
end
-- Funktion zu finden ID von heating panel.
function HeatPanelID()
fibaro:debug("hpName = " ..hpName)
for j = 1, #hpID, 2 do
fibaro:debug(hpID[j])
if hpName == hpID[j] then hpId = hpID[j+1] end
end
end
hpName = "" -- nom du HP verarbeiteten.
hpId = 0 -- ID du HP verarbeiteten.
fibaro:debug("Alle Heitz Panele im Handbetrieb")
fibaro:debug("#hpID = " ..#hpID)
for i = 1, #hpID, 2 do
fibaro:debug("hpID[" ..i.. "] = " ..hpID[i].. " = " ..hpID[i+1])
HeatPanel(hpID[i+1], tmpOff)
end
------------------------------------------------------------------
-----------------------------------------------------------------
fibaro:call(66, "setProperty", "ui.Zustand.value", "Aus");
fibaro:setGlobal("ZustandDesHauses", "Sommer");
local ZustandDesHauses = fibaro:getGlobalValue("ZustandDesHauses")
fibaro:call(66, "setProperty", "ui.Schicht.value", ZustandDesHauses);
local msg = "Sommer Wiederherstelt."
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.message.value", msg);