Hallo an Alle,
kann mir bitte jemand den Befehl verraten um die aktuelle gesetzte Temperatur laut Heizplan auszulesen.
Vielen Dank
Hallo an Alle,
kann mir bitte jemand den Befehl verraten um die aktuelle gesetzte Temperatur laut Heizplan auszulesen.
Vielen Dank
HC2 oder HC3?
ich hol die für TheHomeRemote mittels API im HC2 aus
http://<deine-IP>:80/api/panels/heating/<id des Heizplan>
mit der API Dokumentation kannst du schauen was es alles gibt und ausprobieren was zurück kommt.
http://<deine-iP>/docs/
Gruss - kro
Hallo,
hab das HC3.
die Befehle um auf Manuel und wieder zurück auf Automatik zu sertzen hab ich mittlerweile gefunden durch googeln.
Es ist schon echt ermüdend als Anfänger alles suchen zu müssen. Eine Befehls Biblotek wäre mega.
Dein Befehl hat leider nicht funktioniert.
Grüße
Hallo @RicoC
Ja das ist mühsam das raussuchen.
Aber hier in Forum haben einige etwas bereit gestellt um es Anfängern etwas leichter zu machen.
Ich lese zwar hier nur Spuradisch mit da ich auf ioBroker umgestiegen bin aber ab und an lese ich doch einiges.
Da ist mir deine Frage aufgefallen.
Schau mal hier das habe ich Damals mal geschrieben, das könnte dir helfen.
Grüße aus dem Sauerland
Frank
Hi, hier mal ein Beispiel: Ich lese den Heizplan und verändere ihn wenn ich unterwegs bin, bzw. setze ihn wieder zurück, wenn wir wieder zuhause sind:
local Solltemperatur = 16
local Sollzeit = 8 – in h
local Heatings = api.get(’/panels/heating’)
function setHeatplan (hp, Text)
heatplanJSON = json.encode(hp)
local http = net.HTTPClient()
http:request(„http://127.0.0.1:11111/api/panels/heating/“…hp.id, {
options = {
method = ‚PUT‘,
headers = {},
data = heatplanJSON,
timeout = 5000
},
success = function(response)
local result = response.data;
if response.status == 200 or response.status == 201 then
Display(‚lightgreen‘, Text, 999)
else
Display(‚red‘,‚Error: ’ …response.status… ’ - Zugriff verweigert‘,0)
end
end,
error = function(err)
Display(‚red‘,’[ERROR] ’ … err, 0)
end
})
end – setTemp
– in der Szene nutze ich dann folgende Sequenzen:
–** Raumtemperaturen wieder auf Standard setzen**
for k,v in pairs(Heatings) do
heatplan = api.get(’/panels/heating/’…v.id)
heatplan.mode = „Schedule“
heatplan.properties.handTemperature = 0
heatplan.properties.handTimestamp = 0
setHeatplan(heatplan, „Heizplan „…heatplan.name…“ wieder eingestellt.“)
end – for Heatings
–** Raumtemperaturen während Abwesenheit fixen Wert setzen **
for k,v in pairs(Heatings) do
heatplan = api.get(’/panels/heating/’…v.id)
heatplan.properties.handTemperature = math.max(heatplan.properties.currentTemperature - 2, Solltemperatur)
– wählt die höhere Temperatur aus, die aktuelle gesetzte Temp -2° oder Soll
heatplan.properties.handTimestamp = os.time() + Sollzeit * 60 * 60
– Sollzeit in h uzmgerechnet auf Sekunden zur aktuellen Epochensekunde
setHeatplan(heatplan, "Raumtemperatur für „…heatplan.name…“ auf "…heatplan.properties.handTemperature…„°C eingestellt.“)
end – for Heatings
Wenn ich Ehrlich bin ist dies mir schon zu hoch. Ich habe erst mit LUA angefangen und mein aktuelles unfertiges programm schaut so hier aus:
–Heizzonen
laylaZ = 1
leoZ = 2
wohnZ = 3
essZ = 4
treppenZ = 5
ankleideZ = 6
bueroZ = 7
naehZ = 8
gaestebadZ = 9
gaesteZ = 10
schlafZ = 11
flurZ = 12
badZ = 13
temp = fibaro.getValue(3, „Temperature“)
– Unifi Abfrage
function anwesenheit ()
rico = fibaro.getValue(193, „value“)
susann = fibaro.getValue(194, „value“)
layla = fibaro.getValue(195, „value“)
end
function alarmStatus ()
if fibaro.getValue(105, „value“) == true then alarmAn = 1
else alarmAn = 0
end
end
function heizungLaylaAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(laylaZ, ‚Heat‘,„Hold“, 16, nil)
end
function heizungLayla20 ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(laylaZ, ‚Heat‘,„Hold“, 20, nil)
end
function heizungLeoAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(leoZ, ‚Heat‘,„Hold“, 16, nil)
end
function heizungWohnzimmerAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(wohnZ, ‚Heat‘,„Hold“, 16, nil)
end
function heizungEsszimmerAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(essZ, ‚Heat‘,„Hold“, 16, nil)
end
function heizungTreppenAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(treppenZ, ‚Heat‘,„Hold“, 15, nil)
end
function heizungAnkleideAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(ankleideZ, ‚Heat‘,„Hold“, 16, nil)
end
function heizungBueroAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(bueroZ, ‚Heat‘,„Hold“, 14, nil)
end
function heizungNaehzimmerAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(naehZ, ‚Heat‘,„Hold“, 10, nil)
end
function heizungGaestebadAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(gaestebadZ, ‚Heat‘,„Hold“, 10, nil)
end
function heizungGaestezimmerAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(gaesteZ, ‚Heat‘,„Hold“, 6, nil)
end
function heizungSchlafzimmerAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(schlafZ, ‚Heat‘,„Hold“, 13, nil)
end
function heizungFlurAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(flurZ, ‚Heat‘,„Hold“, 10, nil)
end
function heizungBadAus ()
fibaro.homeCenter.climate.setClimateZoneToManualMode(badZ, ‚Heat‘,„Hold“, 19, nil)
end
function uhrzeit ()
aktuellM = os.date("%M")
aktuellH = os.date("%H")
aktuellesekunden = (aktuellM) + (aktuellH * 60)
end
function laylaManuell ()
uhrzeit ()
if aktuellesekunden <= 1080 then heizungLayla20 ()
else end
end
function heizungAlleAus() --Manuelle Temperatur pro Heizzone
heizungLaylaAus ()
heizungLeoAus ()
heizungWohnzimmerAus ()
heizungEsszimmerAus ()
heizungTreppenAus ()
heizungAnkleideAus ()
heizungBueroAus ()
heizungNaehzimmerAus ()
heizungGaestebadAus ()
heizungGaestezimmerAus ()
heizungSchlafzimmerAus ()
heizungFlurAus ()
heizungBadAus ()
end
function heizungAlleAuto() --Automatische Zeitplansteuerung
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(1)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(2)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(3)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(4)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(5)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(6)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(7)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(8)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(9)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(10)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(11)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(12)
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(13)
end
–Programmablauf
alarmStatus ()
print (alarmAn)
if ((alarmAn == 0 and temp <= 15)) then heizungAlleAuto () fibaro.debug(„Scene115“, „Heizung an“)
elseif (alarmAn == 1 or temp > 15) then heizungAlleAus () fibaro.debug(„Scene115“, „Heizung aus“)
elseif layla == 1 then laylaManuell ()
end
Dabei wollte ich gerade von der Alarmanlage auf die Anwesenheit umprogrammieren. Hierbei wollte ich abfragen ob eine Zone bereits auf Manuell steht und diese dann nicht auf automatik ändern.