Mittlerweile funktioniert alles und ich steuer über eine VD die Original von Daniel Corado aus Spanien stammt. VD anbei
IP Adresse ist die der Intensis in Eurem LAN und TCP Port 3310
Intesis_Mitsubishi.zip (5,9 KB)
Dazu noch ein paar Code Schnipsel für eine Routine die ich nutze wenn man heimkommt:
local Klima = {}
Klima[„Wohnzimmer“] = {ID=617, Temp=22}
Klima[„Schlafzimmer“] = {ID=618, Temp=18}
----- Stopt zuviele Szenen -----
if (HC2:countScenes()>1) then
HC2:abort();
end
– farbige Debug und Push Ausgabe
function Display (color, message, DevId)
HC2:debug(string.format(’<%s style=„color:%s;“>%s’, „span“, color, message, „span“));
if DevId == 0 then HC2:call(HC2:getGlobalValue(‚AdminID‘), ‚sendPush‘, message)
elseif DevId ~= 999 then HC2:call(DevId, ‚sendPush‘, message)
end
end
function pushKlima (ID, Button) – drückt auf der VD die Knöpfe
–[[
|-------------------------------------------------------------------------|
| 2: 16°C - 3: -° - 4: 20° - 5: +° - 6: 25° |
| 8: AN/Aus - 9: AN - 10: Aus |
| 11: Kühlen - 12: heizen - 13: entfeuchten - 14: Umluft - 15: Automatik |
| 17: -Ventilator - 18: +Ventilator - 19: Ventilator Automatik |
21: Lamellen senken - 22: Lamellen heben - 23: Lamellen Automatik |
–]]
local Text
if Button == „2“ then Text = „16°C“
elseif Button == „3“ then Text = „Temperatur senken“
elseif Button == „4“ then Text = „20°C“
elseif Button == „5“ then Text = „Temperatur erhöhen“
elseif Button == „6“ then Text = „25°C“
elseif Button == „8“ then Text = „An/Aus“
elseif Button == „9“ then Text = „An“
elseif Button == „10“ then Text = „Aus“
elseif Button == „11“ then Text = „kühlen“
elseif Button == „12“ then Text = „heizen“
elseif Button == „13“ then Text = „entfeuchten“
elseif Button == „14“ then Text = „Umluft“
elseif Button == „15“ then Text = „Automatik“
elseif Button == „17“ then Text = „Ventilator verringern“
elseif Button == „18“ then Text = „Ventilator erhöhen“
elseif Button == „19“ then Text = „Ventilator Automatik“
elseif Button == „21“ then Text = „Lamellen senken“
elseif Button == „22“ then Text = „Lamellen erhöhen“
elseif Button == „23“ then Text = „Lamellen Automatik“
end – if Button ==
HC2:sleep(500) – Pause für sichere Übermittlung
HC2:call(ID, „pressButton“, Button) – VD schalten
print("Klimaanlage "…Text)
HC2:sleep(500) – Pause für sichere Übermittlung
end – pushKlima
function round(real)
– rundet auf das nächste Integer
return math.floor(real + 0.5)
end – round
function Raumklima (Name, ID, ZielT) – Raumnummer der Szene
local room = api.get(’/rooms’)
local DeltaT, RaumT
for b,d in pairs(room) do
if d.name == Name then
– bestimmt aus der Differenz zwischen Außentemperatur udn Raum Solltemperatur
– einen Temperaturaufschlag auf die Solltemperatur, der einem vielfachen
– des DelatTfaktor entspricht und addiert diesen zur Zieltemperatur.
– Wenn ZielT z.b. 22° und Außen 35° werden 13deltaTfaktor (hier 13,25) = 3.25° zur ZielT
– hinzugefügt, damit das Delta durch die klimaanlage nicht zu groß im Haus wird
– im Aschlauß wird das Kommando für die Klimaanlage zurückgegeben
DeltaT = (math.max(api.get(’/weather’)[‚Temperature‘]-ZielT,ZielT)-ZielT)*deltaTfaktor
ZielT = round(ZielT+DeltaT)
RaumT = tonumber(HC2:getValue(d.defaultSensors.temperature, „value“))
if math.abs(RaumT - ZielT) < 1.7 then
print(„Keine Klimaanlage nötig, Differenz „…math.abs(RaumT - ZielT))
else
pushKlima(ID, „2“) – 16° einschalten
if RaumT > ZielT then
Display(„cyan“, (Name…“ wird gekühlt auf „…ZielT…“ °C“), 999)
pushKlima(ID, „11“) – Cool
elseif ZielT < RaumT then
Display(„orange“, (Name…" wird geheizt auf „…ZielT…“ °C"), 999)
pushKlima(ID, „12“) – Heat
end – if RaumT > ZielT
for i=1, (ZielT - 16) do
pushKlima(ID, „5“) – Temperatur erhöhen
end --for
pushKlima(ID, „19“) – Ventilator Automatik
pushKlima(ID, „23“) – Lamellen Automatik
end – if Klimaanlage nicht / nötig
end – if d.Name = Name
end – for bd
end
for k, v in pairs( Klima ) do
Raumklima(k, Klima[k].ID, Klima[k].Temp)
setTimeout(function()
pushKlima(Klima[k].ID, "10") -- Aus
end, 30*60*1000)
end -- Klimaanlage an