Efter at have fået rigtig god starthjælp af flere herinde, har jeg fået gang i Velux-bindingen, der også er blevet opdateret en del på for nyligt (så den er mere stabil efter genstart). Jeg har læst lidt kode hist og her, og på den måde sat følgende regel sammen (fik god kodehjælp af EjvindHald til at komme i gang)
Nu har jeg så fået lagt hysterese ind, da det var en smule irriterende at motorerne kørte ved ændring på +/- 0,1 grad
Det virker ganske fint, men jeg kan ikke finde ud af at få lagt samme hysterese ind ved overgang fra setpunkt_high til setpunkt_low (den ændrer fra fuldt åben (0) til halvt åben (50) når temperaturen ændrer sig 0,1 (24,8 til 24,7) - pga. at temperaturen så netop er > setpoint_low+hysterese (når jeg prøver at lægge det ind, så arbejder delelementerne i min kode mod hinanden).
rule "Gang temperatur hysterese over 23.5"
when
// reglen aktiveres ved ændring i temperatur eller alarm status
Item entre_temp changed or
Item alarm_io changed
then
// Hvis alarm er tilkoblet, så skal vinduerne være lukket
if (alarm_io.state == OFF){
// Alarm er frakoblet
var Number cur_temp = entre_temp.state as Number
var Number setpoint_high = 24.5
var Number setpoint_low = 23.5
val Number hysteresis = 0.2
// Der er varmere end højeste setpunkt - vinduet åbnes helt
if (cur_temp > (setpoint_high + hysteresis)) {
Veluxentre_Position.sendCommand(0)}
else {
// Vinduet åbnes 50% hvis temperatur er højere end laveste setpunkt
if (cur_temp > (setpoint_low + hysteresis))
Veluxentre_Position.sendCommand(50)
else if
// Temperatur er lavere end laveste setpunkt, og vinduet lukkes
(cur_temp < (setpoint_low - hysteresis))
Veluxentre_Position.sendCommand(100)}
}
else {
// Luk vinduet hvis alarm ikke er frakoblet
Veluxentre_Position.sendCommand(100)
}
end
Det ser sådan ud i loggen:
2021-05-18 21:20:53.663 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'IHCELKOController_Entregangveddorvaerelse2TemperatursensorRumtemperatur' changed from 24.7 °C to 24.8 °C
2021-05-18 21:20:53.668 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Veluxentre_Position' received command 0
2021-05-18 21:20:53.671 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Veluxentre_Position' predicted to become 0
2021-05-18 21:20:53.676 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Veluxentre_Position' changed from 50 to 0
2021-05-18 21:21:10.064 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'bryggers_temp' changed from 24.00 to 23.90
2021-05-18 21:22:19.024 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'entre_temp' changed from 24.80 to 24.70
2021-05-18 21:22:19.066 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'IHCELKOController_Entregangveddorvaerelse2TemperatursensorRumtemperatur' changed from 24.8 °C to 24.7 °C
2021-05-18 21:22:19.076 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Veluxentre_Position' received command 50
2021-05-18 21:22:19.079 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Veluxentre_Position' predicted to become 50
2021-05-18 21:22:19.087 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Veluxentre_Position' changed from 0 to 50
Hvad skal jeg lave om for at det kører som jeg ønsker (og jeg får ro fra vinduesmotoren)?
Spørgsmål
Jakob Hauerslev
Hej
Efter at have fået rigtig god starthjælp af flere herinde, har jeg fået gang i Velux-bindingen, der også er blevet opdateret en del på for nyligt (så den er mere stabil efter genstart). Jeg har læst lidt kode hist og her, og på den måde sat følgende regel sammen (fik god kodehjælp af EjvindHald til at komme i gang)
Nu har jeg så fået lagt hysterese ind, da det var en smule irriterende at motorerne kørte ved ændring på +/- 0,1 grad
Det virker ganske fint, men jeg kan ikke finde ud af at få lagt samme hysterese ind ved overgang fra setpunkt_high til setpunkt_low (den ændrer fra fuldt åben (0) til halvt åben (50) når temperaturen ændrer sig 0,1 (24,8 til 24,7) - pga. at temperaturen så netop er > setpoint_low+hysterese (når jeg prøver at lægge det ind, så arbejder delelementerne i min kode mod hinanden).
rule "Gang temperatur hysterese over 23.5" when // reglen aktiveres ved ændring i temperatur eller alarm status Item entre_temp changed or Item alarm_io changed then // Hvis alarm er tilkoblet, så skal vinduerne være lukket if (alarm_io.state == OFF){ // Alarm er frakoblet var Number cur_temp = entre_temp.state as Number var Number setpoint_high = 24.5 var Number setpoint_low = 23.5 val Number hysteresis = 0.2 // Der er varmere end højeste setpunkt - vinduet åbnes helt if (cur_temp > (setpoint_high + hysteresis)) { Veluxentre_Position.sendCommand(0)} else { // Vinduet åbnes 50% hvis temperatur er højere end laveste setpunkt if (cur_temp > (setpoint_low + hysteresis)) Veluxentre_Position.sendCommand(50) else if // Temperatur er lavere end laveste setpunkt, og vinduet lukkes (cur_temp < (setpoint_low - hysteresis)) Veluxentre_Position.sendCommand(100)} } else { // Luk vinduet hvis alarm ikke er frakoblet Veluxentre_Position.sendCommand(100) } end
Det ser sådan ud i loggen:
2021-05-18 21:20:53.663 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'IHCELKOController_Entregangveddorvaerelse2TemperatursensorRumtemperatur' changed from 24.7 °C to 24.8 °C 2021-05-18 21:20:53.668 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Veluxentre_Position' received command 0 2021-05-18 21:20:53.671 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Veluxentre_Position' predicted to become 0 2021-05-18 21:20:53.676 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Veluxentre_Position' changed from 50 to 0 2021-05-18 21:21:10.064 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'bryggers_temp' changed from 24.00 to 23.90 2021-05-18 21:22:19.024 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'entre_temp' changed from 24.80 to 24.70 2021-05-18 21:22:19.066 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'IHCELKOController_Entregangveddorvaerelse2TemperatursensorRumtemperatur' changed from 24.8 °C to 24.7 °C 2021-05-18 21:22:19.076 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Veluxentre_Position' received command 50 2021-05-18 21:22:19.079 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Veluxentre_Position' predicted to become 50 2021-05-18 21:22:19.087 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Veluxentre_Position' changed from 0 to 50
Hvad skal jeg lave om for at det kører som jeg ønsker (og jeg får ro fra vinduesmotoren)?
Link til kommentar
Del på andre sites
5 svar på dette spørgsmål
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.