Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f8b35844d4 | |||
| e9dfa1ba0a | |||
| a6495e76e9 |
@@ -5,8 +5,8 @@ String Stagione {channel="astro:sun:local:season#name"}
|
||||
/*---------------------- Elementi group logici ----------------------*/
|
||||
Group:Switch:OR(ON, OFF) CL_Switch "Clima Attivi [(%d)]" <oh:switch>
|
||||
Group:Switch:OR(ON, OFF) VMC_Switch "VMC Attive [(%d)]" <oh:switch>
|
||||
// Group:Switch:OR(ON, OFF) Light_PresetSwitch "Preset Luci" <oh:switch>
|
||||
Group:Number:AVG CL_Mode "Modalità Clima [%.1f]" <oh:heating>
|
||||
//Group:Number:AVG CL_Mode "Modalità Clima [%.1f]" <oh:heating>
|
||||
Group:Number:AVG CL_Mode "Modalità Prevalente [MAP(clima_modo.map):%.0f]" <oh:heating>
|
||||
Group:Number:AVG CL_Temp "Temp. Rilevata [%.1f °C]" <oh:temperature>
|
||||
Group:Number:AVG CL_Set "Temp. Impostata [%.1f °C]" <oh:heating>
|
||||
Group:Number:AVG CL_Fan "Fan Speed" <oh:temperature>
|
||||
@@ -33,56 +33,56 @@ Switch Light_PresetSwitch "Preset Luci"
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------- Elementi Clima, Daikin via MODBUS ----------------------*/
|
||||
Group gClimaTrigger "Gruppo Climatizzatori"
|
||||
Switch CL_ModoEstivo "Modalità Estiva (freddo)"
|
||||
Number GU120_CL "Clima Ufficio 120"
|
||||
// Number GU120_CL "Clima Ufficio 120"
|
||||
Number CL_GrpScale "Scala Temporale Clima"
|
||||
Number VMC_GrpScale "Scala Temporale VMC"
|
||||
Switch Heating_GU120_CL_C1_Switch "Ingresso" <oh:heating> (CL_Switch) {channel="modbus:data:6cb6a78ae4:002f17d3e2:switch"}
|
||||
Switch Heating_GU120_CL_C1_Switch "Ingresso" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:6cb6a78ae4:002f17d3e2:switch"}
|
||||
Number Heating_GU120_CL_C1_Temp "°C Ingresso [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:7f20af572c:a9e7069c7c:number"}
|
||||
Number Heating_GU120_CL_C1_Set "Set Ingresso [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:6cb6a78ae4:d016b44d6d:number"}
|
||||
Number Heating_GU120_CL_C1_Fan "Fan Ingresso" <oh:temperature> (CL_Fan) {channel="modbus:data:6cb6a78ae4:b6325f2892:number"}
|
||||
Number Heating_GU120_CL_C1_Mode "Modo Ingresso [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:6cb6a78ae4:e6e67dfb58:number"}
|
||||
Switch Heating_GU120_CL_C2_Switch "Corridoio" <oh:heating> (CL_Switch) {channel="modbus:data:25ff4e4854:abc8fe8acf:switch"}
|
||||
Number Heating_GU120_CL_C1_Fan "Fan Ingresso" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:6cb6a78ae4:b6325f2892:number"}
|
||||
Number Heating_GU120_CL_C1_Mode "Modo Ingresso [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:6cb6a78ae4:e6e67dfb58:number"}
|
||||
Switch Heating_GU120_CL_C2_Switch "Corridoio" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:25ff4e4854:abc8fe8acf:switch"}
|
||||
Number Heating_GU120_CL_C2_Temp "°C Corridoio [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:25ff4e4854:9c21d13904:number"}
|
||||
Number Heating_GU120_CL_C2_Set "Set Corridoio [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:25ff4e4854:4125b665e1:number"}
|
||||
Number Heating_GU120_CL_C2_Fan "Fan Corridoio" <oh:temperature> (CL_Fan) {channel="modbus:data:25ff4e4854:37b7126b15:number"}
|
||||
Number Heating_GU120_CL_C2_Mode "Modo Corridoio [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:25ff4e4854:b382599920:number"}
|
||||
Switch Heating_GU120_CL_C3_Switch "Finestra" <oh:heating> (CL_Switch) {channel="modbus:data:1d94db5831:a206ccc2d1:switch"}
|
||||
Number Heating_GU120_CL_C2_Fan "Fan Corridoio" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:25ff4e4854:37b7126b15:number"}
|
||||
Number Heating_GU120_CL_C2_Mode "Modo Corridoio [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:25ff4e4854:b382599920:number"}
|
||||
Switch Heating_GU120_CL_C3_Switch "Finestra" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:1d94db5831:a206ccc2d1:switch"}
|
||||
Number Heating_GU120_CL_C3_Temp "°C Finestra [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:2a1822eb32:db7ce645ec:number"}
|
||||
Number Heating_GU120_CL_C3_Set "Set Finestra [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:1d94db5831:1877b2eeac:number"}
|
||||
Number Heating_GU120_CL_C3_Fan "Fan Finestra" <oh:temperature> (CL_Fan) {channel="modbus:data:1d94db5831:31ea819e70:number"}
|
||||
Number Heating_GU120_CL_C3_Mode "Modo Finestra [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:1d94db5831:b9fdad4dbd:number"}
|
||||
Switch Heating_GU120_CL_C4_Switch "Uff Samuele" <oh:heating> (CL_Switch) {channel="modbus:data:9c572c8b0d:aaad41b599:switch"}
|
||||
Number Heating_GU120_CL_C3_Fan "Fan Finestra" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:1d94db5831:31ea819e70:number"}
|
||||
Number Heating_GU120_CL_C3_Mode "Modo Finestra [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:1d94db5831:b9fdad4dbd:number"}
|
||||
Switch Heating_GU120_CL_C4_Switch "Uff Samuele" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:9c572c8b0d:aaad41b599:switch"}
|
||||
Number Heating_GU120_CL_C4_Temp "°C Uff Sam [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:102f2a9339:a684203978:number"}
|
||||
Number Heating_GU120_CL_C4_Set "Set Uff Sam [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:9c572c8b0d:4de0ad7a18:number"}
|
||||
Number Heating_GU120_CL_C4_Fan "Fan Uff Sam" <oh:temperature> (CL_Fan) {channel="modbus:data:9c572c8b0d:4aea01c2ba:number"}
|
||||
Number Heating_GU120_CL_C4_Mode "Modo Uff Sam [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:9c572c8b0d:076c837dc5:number"}
|
||||
Switch Heating_GU120_CL_C5_Switch "Uff Emm" <oh:heating> (CL_Switch) {channel="modbus:data:b84a9d28c9:2c0b2764b3:switch"}
|
||||
Number Heating_GU120_CL_C4_Fan "Fan Uff Sam" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:9c572c8b0d:4aea01c2ba:number"}
|
||||
Number Heating_GU120_CL_C4_Mode "Modo Uff Sam [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:9c572c8b0d:076c837dc5:number"}
|
||||
Switch Heating_GU120_CL_C5_Switch "Uff Emm" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:b84a9d28c9:2c0b2764b3:switch"}
|
||||
Number Heating_GU120_CL_C5_Temp "°C Uff Emm [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:54111f6432:92f68904d5:number"}
|
||||
Number Heating_GU120_CL_C5_Set "Set Uff Emm [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:f6b8c93dfe:5e0ba61106:number"}
|
||||
Number Heating_GU120_CL_C5_Fan "Fan Uff Emm" <oh:temperature> (CL_Fan) {channel="modbus:data:f6b8c93dfe:0bbc6da4ba:number"}
|
||||
Number Heating_GU120_CL_C5_Mode "Modo Uff Emm [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:f6b8c93dfe:8cf048aed5:number"}
|
||||
Switch Heating_GU100_CL_C6_Switch "Desk" <oh:heating> (CL_Switch) {channel="modbus:data:32c34522e3:592d883bcc:switch"}
|
||||
Number Heating_GU120_CL_C5_Fan "Fan Uff Emm" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:f6b8c93dfe:0bbc6da4ba:number"}
|
||||
Number Heating_GU120_CL_C5_Mode "Modo Uff Emm [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:f6b8c93dfe:8cf048aed5:number"}
|
||||
Switch Heating_GU100_CL_C6_Switch "Desk" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:32c34522e3:592d883bcc:switch"}
|
||||
Number Heating_GU100_CL_C6_Temp "°C Desk [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:6dfb31b2d0:a9eda37f18:number"}
|
||||
Number Heating_GU100_CL_C6_Set "Set Desk [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:32c34522e3:73c82709f7:number"}
|
||||
Number Heating_GU100_CL_C6_Fan "Fan Desk" <oh:temperature> (CL_Fan) {channel="modbus:data:32c34522e3:1d32219a9b:number"}
|
||||
Number Heating_GU100_CL_C6_Mode "Modo Desk [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:32c34522e3:5550465d50:number"}
|
||||
Switch Heating_GU100_CL_C7_Switch "OpenSpace" <oh:heating> (CL_Switch) {channel="modbus:data:7b0ff8678f:852651bdfb:switch"}
|
||||
Number Heating_GU100_CL_C6_Fan "Fan Desk" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:32c34522e3:1d32219a9b:number"}
|
||||
Number Heating_GU100_CL_C6_Mode "Modo Desk [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:32c34522e3:5550465d50:number"}
|
||||
Switch Heating_GU100_CL_C7_Switch "OpenSpace" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:7b0ff8678f:852651bdfb:switch"}
|
||||
Number Heating_GU100_CL_C7_Temp "°C OpenSpace [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:15a14761b1:043e67945d:number"}
|
||||
Number Heating_GU100_CL_C7_Set "Set OpenSpace [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:7b0ff8678f:a7c13dd57d:number"}
|
||||
Number Heating_GU100_CL_C7_Fan "Fan OpenSpace" <oh:temperature> (CL_Fan) {channel="modbus:data:7b0ff8678f:c2ab3ee0e9:number"}
|
||||
Number Heating_GU100_CL_C7_Mode "Modo OpenSpace [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:7b0ff8678f:4386a86c96:number"}
|
||||
Switch Heating_GU100_CL_C8_Switch "Uff Dario" <oh:heating> (CL_Switch) {channel="modbus:data:dfd1d14bf1:d3ddf221cd:switch"}
|
||||
Number Heating_GU100_CL_C7_Fan "Fan OpenSpace" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:7b0ff8678f:c2ab3ee0e9:number"}
|
||||
Number Heating_GU100_CL_C7_Mode "Modo OpenSpace [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:7b0ff8678f:4386a86c96:number"}
|
||||
Switch Heating_GU100_CL_C8_Switch "Uff Dario" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:dfd1d14bf1:d3ddf221cd:switch"}
|
||||
Number Heating_GU100_CL_C8_Temp "°C Uff Dario [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:4da0c6beba:766d9bf2b9:number"}
|
||||
Number Heating_GU100_CL_C8_Set "Set Uff Dario [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:dfd1d14bf1:ef7f18589e:number"}
|
||||
Number Heating_GU100_CL_C8_Fan "Fan Uff Dario" <oh:temperature> (CL_Fan) {channel="modbus:data:dfd1d14bf1:93736ca830:number"}
|
||||
Number Heating_GU100_CL_C8_Mode "Modo Uff Dario [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:dfd1d14bf1:ab16eaba84:number"}
|
||||
Switch Heating_GU100_CL_C9_Switch "Sala Riun" <oh:heating> (CL_Switch) {channel="modbus:data:629bd10994:b0f7f4184d:switch"}
|
||||
Number Heating_GU100_CL_C8_Fan "Fan Uff Dario" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:dfd1d14bf1:93736ca830:number"}
|
||||
Number Heating_GU100_CL_C8_Mode "Modo Uff Dario [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:dfd1d14bf1:ab16eaba84:number"}
|
||||
Switch Heating_GU100_CL_C9_Switch "Sala Riun" <oh:heating> (gClimaTrigger, CL_Switch) {channel="modbus:data:629bd10994:b0f7f4184d:switch"}
|
||||
Number Heating_GU100_CL_C9_Temp "°C Sala Riun [%.1f °C]" <oh:temperature> (gClimaTrigger, CL_Temp) {channel="modbus:data:2b1793ab97:b861d34fff:number"}
|
||||
Number Heating_GU100_CL_C9_Set "Set Riunioni [%.1f °C]" <oh:heating> (gClimaTrigger, CL_Set) {channel="modbus:data:629bd10994:d304255f1e:number"}
|
||||
Number Heating_GU100_CL_C9_Fan "Fan Riunioni" <oh:temperature> (CL_Fan) {channel="modbus:data:629bd10994:8be791e11a:number"}
|
||||
Number Heating_GU100_CL_C9_Mode "Modo Riunioni [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:629bd10994:7f619bd5fa:number"}
|
||||
|
||||
Number Heating_GU100_CL_C9_Fan "Fan Riunioni" <oh:temperature> (gClimaTrigger, CL_Fan) {channel="modbus:data:629bd10994:8be791e11a:number"}
|
||||
Number Heating_GU100_CL_C9_Mode "Modo Riunioni [MAP(clima_modo.map):%s]" <oh:heating> (gClimaTrigger, CL_Mode) {channel="modbus:data:629bd10994:7f619bd5fa:number"}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
+323
-296
@@ -1,11 +1,20 @@
|
||||
import java.util.Random
|
||||
import org.openhab.core.model.script.ScriptServiceUtil
|
||||
import java.util.HashMap
|
||||
|
||||
var Timer timer = null
|
||||
// init oggetti
|
||||
val Random random = new Random()
|
||||
var Timer timer = null
|
||||
|
||||
// variabile x cicli alternati (VMC, scaldasalviette bagni...)
|
||||
var boolean cicloA = true
|
||||
var Boolean cicloA = true
|
||||
|
||||
// Ultima temperatura significativa per ogni stanza
|
||||
var HashMap<String, Number> lastTemp = new HashMap<String, Number>()
|
||||
// Ultimo timestamp di elaborazione per ogni stanza
|
||||
var HashMap<String, Long> lastTime = new HashMap<String, Long>()
|
||||
// Intervallo minimo tra due elaborazioni (in millisecondi)
|
||||
val long MIN_INTERVAL = 10 * 1000 // 30 secondi
|
||||
|
||||
var Number powerOnTemp
|
||||
var Number powerOnTempLow
|
||||
@@ -44,8 +53,8 @@ then
|
||||
|
||||
} else {
|
||||
// INVERNO
|
||||
powerOnTemp = 23
|
||||
powerOnTempLow = 21
|
||||
powerOnTemp = 22
|
||||
powerOnTempLow = 20
|
||||
minTemp = 19
|
||||
maxTemp = 24
|
||||
limPrelievoReteMax = 7500
|
||||
@@ -66,48 +75,49 @@ end
|
||||
**********************************************************************/
|
||||
rule "Fix Fronius FullLoad"
|
||||
when
|
||||
Item Fn_FullLoadNeg changed
|
||||
Item Fn_FullLoadNeg changed
|
||||
then
|
||||
if (Fn_FullLoadNeg.state instanceof Number) {
|
||||
//logInfo("Fronius.rules", "Start fix Amb prelievo")
|
||||
var Number posValue = ((Fn_FullLoadNeg.state as Number) * -1)
|
||||
//logInfo("Fronius.rules", "PosValue: {} W", posValue)
|
||||
Fn_FullLoadPos.postUpdate(posValue)
|
||||
} else {
|
||||
Fn_FullLoadPos.postUpdate(Undefined) // or UNDEF on OH2
|
||||
}
|
||||
val raw = Fn_FullLoadNeg.state
|
||||
|
||||
// Caso non numerico → reset
|
||||
if (!(raw instanceof Number)) {
|
||||
if (Fn_FullLoadPos.state != UNDEF)
|
||||
Fn_FullLoadPos.postUpdate(UNDEF)
|
||||
return
|
||||
}
|
||||
|
||||
val Number newValue = -(raw as Number)
|
||||
val oldValue = Fn_FullLoadPos.state as Number
|
||||
|
||||
// Evita update inutili
|
||||
if (oldValue == null || oldValue != newValue)
|
||||
Fn_FullLoadPos.postUpdate(newValue)
|
||||
end
|
||||
|
||||
rule "Prelievo Rete Quotidiano (IN - FV)"
|
||||
when
|
||||
Item Fn_PrelRete changed
|
||||
//Time cron "0 * * * * *"
|
||||
Time cron "0/15 * * * * ?" // ogni 15 secondi
|
||||
then
|
||||
//logInfo("Fn_PrelReteDay.rules", "Inizio proc")
|
||||
// inizio creando variabile derivata del SOLO valore prelevato
|
||||
if(Fn_PrelRete.state >= 0) {
|
||||
Fn_PrelReteNet.postUpdate(Fn_PrelRete.state as Number)
|
||||
}
|
||||
else {
|
||||
Fn_PrelReteNet.postUpdate(0)
|
||||
}
|
||||
//logInfo("Fn_PrelReteDay.rules", "Fn_PrelReteNet: {}", Fn_PrelReteNet.state)
|
||||
// calcolo parametri delle ore cumulate giornaliere, del valore medio giornaliero
|
||||
var inizio = now.withHour(0).withMinute(0).withSecond(0)
|
||||
var double dayTime = (now.getMinute() as Number) / 60 + now.getHour()
|
||||
//logInfo("Fn_PrelReteDay.rules", "inizio: {}, dayTime: {}", inizio, dayTime)
|
||||
// 1) Calcolo Fn_PrelReteNet (solo valori >= 0)
|
||||
val Number rete = Fn_PrelRete.state as Number
|
||||
Fn_PrelReteNet.postUpdate(if (rete >= 0) rete else 0)
|
||||
|
||||
//var Number dayAVG = Fn_PrelRete.averageSince(inizio)
|
||||
var Number dayAVG_net = Fn_PrelReteNet.averageSince(inizio)
|
||||
//logInfo("Fn_PrelReteDay.rules", "dayAVG: {} | dayAVG_net: {}", dayAVG, dayAVG_net)
|
||||
|
||||
// to-do: usare ALTRA media...
|
||||
//var double kWh = mediaGiorn * dayTime / 1000
|
||||
var double kWh = dayAVG_net * dayTime / 1000
|
||||
//logWarn("Fn_PrelReteDay.rules", "kWh: {}", kWh)
|
||||
Fn_PrelReteDay.postUpdate(kWh)
|
||||
// 2) Inizio giornata
|
||||
val inizio = now.withHour(0).withMinute(0).withSecond(0)
|
||||
|
||||
// 3) Somma dei valori (Watt-minuto)
|
||||
val Number somma = Fn_PrelReteNet.sumSince(inizio)
|
||||
|
||||
// 4) Conversione in kWh
|
||||
// somma = somma dei valori campionati ogni minuto
|
||||
// kWh = somma / (60 * 1000)
|
||||
val double kWh = somma.doubleValue / 60000.0
|
||||
|
||||
// 5) Aggiornamento item
|
||||
Fn_PrelReteDay.postUpdate(kWh)
|
||||
end
|
||||
|
||||
|
||||
rule "Carico totale Shelly"
|
||||
when
|
||||
Item ShellyPowerValApc changed or
|
||||
@@ -126,7 +136,7 @@ then
|
||||
var Number spAll = nCaffe + nApc + nB100 + nB120
|
||||
|
||||
// Log di debug per verificare i valori
|
||||
logInfo("ShellyPower.rules", "Somma: {} + {} + {} + {} = {} W", nCaffe, nApc, nB100, nB120, spAll)
|
||||
logInfo("ShellyPower.rules", "Shelly | Carico rilevato: {} + {} + {} + {} = {} W", nCaffe, nApc, nB100, nB120, spAll)
|
||||
|
||||
ShellyPowerValAll.postUpdate(spAll)
|
||||
end
|
||||
@@ -134,7 +144,6 @@ end
|
||||
/**********************************************************************
|
||||
* Rules x automazione CLIMA ALWAYS
|
||||
**********************************************************************/
|
||||
|
||||
rule "Accensione mattino 7.00 Uff Samuele"
|
||||
when
|
||||
Time cron "0 0 7 * * MON-SAT"
|
||||
@@ -293,21 +302,6 @@ then
|
||||
Heating_GU100_CL_C9_Switch.sendCommand(OFF)
|
||||
end
|
||||
|
||||
// rule "Spegnimento Clima OGNI sera 20:30"
|
||||
// when
|
||||
// Time cron "0 30 20 * * ?"
|
||||
// then
|
||||
// Heating_GU120_CL_C1_Switch.sendCommand(OFF)
|
||||
// Heating_GU120_CL_C2_Switch.sendCommand(OFF)
|
||||
// Heating_GU120_CL_C3_Switch.sendCommand(OFF)
|
||||
// Heating_GU120_CL_C4_Switch.sendCommand(OFF)
|
||||
// Heating_GU120_CL_C5_Switch.sendCommand(OFF)
|
||||
// Heating_GU100_CL_C6_Switch.sendCommand(OFF)
|
||||
// Heating_GU100_CL_C7_Switch.sendCommand(OFF)
|
||||
// Heating_GU100_CL_C8_Switch.sendCommand(OFF)
|
||||
// Heating_GU100_CL_C9_Switch.sendCommand(OFF)
|
||||
// end
|
||||
|
||||
rule "Spegnimento Clima OGNI sera 21:00"
|
||||
when
|
||||
Time cron "0 0 21 * * ?"
|
||||
@@ -330,29 +324,48 @@ end
|
||||
**********************************************************************/
|
||||
rule "Gestione VMC unificata giorno/notte con ping-pong"
|
||||
when
|
||||
Time cron "0 0/10 * * * ?" // ogni 10 minuti
|
||||
Time cron "30 0/4 * * * ?" // ogni 4 minuti
|
||||
then
|
||||
val hour = (MyDateTimeItem.state as DateTimeType).zonedDateTime.hour
|
||||
val consumo = (Fn_PrelRete.state as Number).intValue
|
||||
val dayOfWeek = now.getDayOfWeek.getValue // 1 = Lunedì, ..., 6 = Sabato, 7 = Domenica
|
||||
val hour = now.getHour
|
||||
val isSummer = (CL_ModoEstivo.state == ON)
|
||||
|
||||
// --- NUOVA LOGICA DI CONTROLLO TEMPORALE ---
|
||||
|
||||
var Boolean isTempoDiFunzionamento = true
|
||||
|
||||
// ---------------------------
|
||||
// 1) FASCIA NOTTURNA (es 20 → 6)
|
||||
// ---------------------------
|
||||
if(hour < oraVmcOn || hour > oraVmcOff) {
|
||||
logInfo("VMC.Check", "NOTTE: spegnimento totale forzato")
|
||||
|
||||
SonoffServizi01_VorticeVCM.sendCommand(OFF)
|
||||
SonoffServizi02_VorticeVCM.sendCommand(OFF)
|
||||
ShellySwitchBagno100.sendCommand(OFF)
|
||||
ShellySwitchBagno120.sendCommand(OFF)
|
||||
// 1. Controllo Domenica (7)
|
||||
if (dayOfWeek == 7) {
|
||||
isTempoDiFunzionamento = false
|
||||
}
|
||||
// 2. Controllo Sabato (6) dopo le 14:00
|
||||
else if (dayOfWeek == 6 && hour >= 14) {
|
||||
isTempoDiFunzionamento = false
|
||||
}
|
||||
// 3. Controllo Fascia Notturna standard (Lun-Ven o Sab mattina)
|
||||
else if (hour < oraVmcOn || hour >= oraVmcOff) {
|
||||
isTempoDiFunzionamento = false
|
||||
}
|
||||
|
||||
// --- AZIONE DI SPEGNIMENTO ---
|
||||
if (!isTempoDiFunzionamento) {
|
||||
// Evitiamo log eccessivi se è già tutto spento
|
||||
if (SonoffServizi01_VorticeVCM.state == ON || SonoffServizi02_VorticeVCM.state == ON) {
|
||||
logInfo("VMC.Check", "MODALITÀ RISPARMIO: Sabato pomeriggio/Domenica o Notte -> OFF totale")
|
||||
SonoffServizi01_VorticeVCM.sendCommand(OFF)
|
||||
SonoffServizi02_VorticeVCM.sendCommand(OFF)
|
||||
ShellySwitchBagno100.sendCommand(OFF)
|
||||
ShellySwitchBagno120.sendCommand(OFF)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ---------------------------
|
||||
// 2) FASCIA DIURNA (es 7 → 19)
|
||||
// 2) FASCIA DIURNA ATTIVA
|
||||
// ---------------------------
|
||||
// controllo su 4 min come cron
|
||||
val maxItem = Fn_PrelRete.maximumSince(now.minusMinutes(4))
|
||||
val consumo = (maxItem.state as Number).intValue
|
||||
|
||||
// --- Soglia massima ---
|
||||
if(consumo > limPrelievoReteMax) {
|
||||
@@ -400,6 +413,7 @@ then
|
||||
|
||||
// alterna ciclo
|
||||
cicloA = !cicloA
|
||||
// logInfo("VMC.Check", "DEBUG cicloA dopo = {}", cicloA)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -422,84 +436,292 @@ end
|
||||
|
||||
/**********************************************************************
|
||||
* Rules x automazione gestione aria freddo/ventilazione ESTIVO
|
||||
**********************************************************************/
|
||||
// **********************************************************************/
|
||||
rule "Fine tuning climatizzatori dinamico"
|
||||
when
|
||||
Member of gClimaTrigger changed
|
||||
then
|
||||
// 1. Identificazione
|
||||
val triggerName = triggeringItem.name
|
||||
// Ricava la base, es: Heating_GU120_CL_C1
|
||||
val baseName = triggerName.substring(0, triggerName.lastIndexOf("_"))
|
||||
val long nowMs = now.toInstant.toEpochMilli
|
||||
val itemName = triggeringItem.name
|
||||
val newVal = triggeringItem.state
|
||||
|
||||
|
||||
logInfo("clima.rule", "{} | Start processing per {}", itemName, newVal)
|
||||
|
||||
// --- 1) Validazione stato numerico ---
|
||||
if (!(newVal instanceof Number))
|
||||
{
|
||||
logInfo("clima.rule", "{}: NewVal non è un numero! {}", itemName, newVal)
|
||||
return
|
||||
}
|
||||
// val Number currentVal = newVal as Number
|
||||
|
||||
// --- 2) Filtro temporale (Debounce) ---
|
||||
// Impedisce alla regola di girare a vuoto se un sensore invia 10 update al secondo
|
||||
val lastT = lastTime.get(itemName)
|
||||
if (lastT !== null && (nowMs - lastT) < MIN_INTERVAL) {
|
||||
// Log rimosso per non intasare i file, o trasformato in debug
|
||||
logInfo("clima.rule", "{}: Processing interrotto x Limite temporale {} < {}", itemName, (nowMs - lastT), MIN_INTERVAL)
|
||||
return
|
||||
}
|
||||
lastTime.put(itemName, nowMs)
|
||||
|
||||
// --- 3) Identificazione stanza ---
|
||||
val baseName = itemName.substring(0, itemName.lastIndexOf("_"))
|
||||
|
||||
// 2. Recupero Item correlati
|
||||
val itemSet = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Set")
|
||||
val itemTemp = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Temp")
|
||||
val itemMode = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Mode")
|
||||
|
||||
// 3. Controllo sicurezza (evitiamo errori se un item è appena nato o non inizializzato)
|
||||
if (itemSet.state == NULL || itemTemp.state == NULL || itemMode.state == NULL) {
|
||||
logWarn("clima.rule", "Uno degli Item per {} è NULL. Esco.", baseName)
|
||||
return;
|
||||
logInfo("clima.rule", "{}: Processing interrotto x valori null | itemSet.state {} | itemTemp.state {} | itemMode.state {}", baseName, itemSet.state, itemTemp.state, itemMode.state)
|
||||
return
|
||||
}
|
||||
|
||||
// 4. Variabili locali
|
||||
var target = itemSet.state as Number
|
||||
val ambient = itemTemp.state as Number
|
||||
val currMode = itemMode.state as Number
|
||||
|
||||
// // Costanti (Assicurati che siano definite globalmente o mettile qui)
|
||||
// val minTemp = 17
|
||||
// val maxTemp = 28
|
||||
// val offsetVal = 0.5 // Esempio
|
||||
// val range = 0.2 // Esempio
|
||||
// --- 4) Lettura valori ---
|
||||
var Number target = itemSet.state as Number
|
||||
val Number ambient = itemTemp.state as Number
|
||||
val Number currMode = itemMode.state as Number
|
||||
|
||||
// 5. Logica di Business
|
||||
// Limito target se fuori range
|
||||
if(target < minTemp) {
|
||||
// --- 5) Limiti target (Sanificazione) ---
|
||||
if (target < minTemp) {
|
||||
logInfo("clima.rule", "{}: Fix temp | minTemp {}, Target: {})", baseName, minTemp, target)
|
||||
target = minTemp
|
||||
itemSet.sendCommand(target)
|
||||
} else if(target > maxTemp) {
|
||||
} else if (target > maxTemp) {
|
||||
logInfo("clima.rule", "{}: Fix temp | maxTemp {}, Target: {})", baseName, maxTemp, target)
|
||||
target = maxTemp
|
||||
itemSet.sendCommand(target)
|
||||
}
|
||||
|
||||
// --- 6) Logica Hysteresis ---
|
||||
var Number turnOnTemp = 0
|
||||
var Number turnOffTemp = 0
|
||||
|
||||
if (CL_ModoEstivo.state == ON) {
|
||||
// --- ESTATE (Raffrescamento) ---
|
||||
turnOnTemp = target + offsetVal
|
||||
turnOffTemp = target + offsetVal - range
|
||||
|
||||
|
||||
if (ambient >= turnOnTemp) {
|
||||
if(currMode != 3) {
|
||||
if (currMode != 3) {
|
||||
logInfo("clima.rule", "{}: Attivazione Raffrescamento (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
itemMode.sendCommand(3)
|
||||
}
|
||||
} else if (ambient <= turnOffTemp) {
|
||||
if(currMode != 2) {
|
||||
logInfo("clima.rule", "{}: Raggiunto target estate (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
if (currMode != 2) {
|
||||
logInfo("clima.rule", "{}: Target raggiunto -> Standby (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
itemMode.sendCommand(2)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// --- INVERNO (Riscaldamento) ---
|
||||
turnOnTemp = target - offsetVal
|
||||
turnOffTemp = target - offsetVal + range
|
||||
|
||||
|
||||
if (ambient <= turnOnTemp) {
|
||||
if(currMode != 1) {
|
||||
if (currMode != 1) {
|
||||
logInfo("clima.rule", "{}: Attivazione Riscaldamento (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
itemMode.sendCommand(1)
|
||||
}
|
||||
} else if (ambient >= turnOffTemp) {
|
||||
if(currMode != 2) {
|
||||
logInfo("clima.rule", "{}: Raggiunto target inverno (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
if (currMode != 2) {
|
||||
logInfo("clima.rule", "{}: Target raggiunto -> Standby (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
itemMode.sendCommand(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
// rule "Fine tuning climatizzatori dinamico"
|
||||
// when
|
||||
// Member of gClimaTrigger changed
|
||||
// then
|
||||
// val long nowMs = now.toInstant.toEpochMilli
|
||||
// val itemName = triggeringItem.name
|
||||
// val newVal = triggeringItem.state
|
||||
|
||||
// logInfo("clima.rule","Inizio processing {} | newVal: {}", itemName, newVal)
|
||||
|
||||
// // --- 1) Validazione stato numerico ---
|
||||
// if (!(newVal instanceof Number)) {
|
||||
// logInfo("clima.rule","Errore: non è number: {}", itemName)
|
||||
// return
|
||||
// }
|
||||
// val Number newTemp = newVal as Number
|
||||
|
||||
// // --- 2) Filtro temporale per prestazioni ---
|
||||
// val lastT = lastTime.get(itemName)
|
||||
// if (lastT !== null && (nowMs - lastT) < MIN_INTERVAL) {
|
||||
// logInfo("clima.rule","Variazione troppo rapida | {} | {}ms", itemName, (nowm - lastT))
|
||||
// return
|
||||
// }
|
||||
|
||||
// // --- 3) Filtro anti-rumore intelligente ---
|
||||
// val Number oldTemp = lastTemp.getOrDefault(itemName, newTemp)
|
||||
|
||||
// if (Math.abs(newTemp.doubleValue - oldTemp.doubleValue) < 0.05) {
|
||||
// // variazione troppo piccola, ignoro
|
||||
// logInfo("clima.rule", "Variazione troppo piccola per {}, ignoro ({} -> {})", itemName, oldTemp, newTemp)
|
||||
// return
|
||||
// }
|
||||
|
||||
// // Aggiorno i riferimenti
|
||||
// lastTemp.put(itemName, newTemp)
|
||||
// lastTime.put(itemName, nowMs)
|
||||
|
||||
// // --- 4) Identificazione stanza ---
|
||||
// val baseName = itemName.substring(0, itemName.lastIndexOf("_"))
|
||||
|
||||
// val itemSet = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Set")
|
||||
// val itemTemp = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Temp")
|
||||
// val itemMode = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Mode")
|
||||
|
||||
// if (itemSet.state == NULL || itemTemp.state == NULL || itemMode.state == NULL) {
|
||||
// logWarn("clima.rule", "Uno degli Item per {} è NULL. Esco.", baseName)
|
||||
// return
|
||||
// }
|
||||
|
||||
// // --- 5) Lettura valori ---
|
||||
// var Number target = itemSet.state as Number
|
||||
// val Number ambient = itemTemp.state as Number
|
||||
// val Number currMode = itemMode.state as Number
|
||||
|
||||
// // --- 6) Limiti target ---
|
||||
// if(target < minTemp) {
|
||||
// target = minTemp
|
||||
// itemSet.sendCommand(target)
|
||||
// } else if(target > maxTemp) {
|
||||
// target = maxTemp
|
||||
// itemSet.sendCommand(target)
|
||||
// }
|
||||
|
||||
// // --- 7) Hysteresis dinamico (già nella tua logica) ---
|
||||
// var Number turnOnTemp = 0
|
||||
// var Number turnOffTemp = 0
|
||||
|
||||
// if (CL_ModoEstivo.state == ON) {
|
||||
// turnOnTemp = target + offsetVal
|
||||
// turnOffTemp = target + offsetVal - range
|
||||
|
||||
// if (ambient >= turnOnTemp) {
|
||||
// if(currMode != 3) {
|
||||
// logInfo("clima.rule", "{}: Attivazione Raffrescamento (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(3)
|
||||
// }
|
||||
// } else if (ambient <= turnOffTemp) {
|
||||
// if(currMode != 2) {
|
||||
// logInfo("clima.rule", "{}: Raggiunto target estate (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(2)
|
||||
// }
|
||||
// }
|
||||
|
||||
// } else {
|
||||
// turnOnTemp = target - offsetVal
|
||||
// turnOffTemp = target - offsetVal + range
|
||||
|
||||
// if (ambient <= turnOnTemp) {
|
||||
// if(currMode != 1) {
|
||||
// logInfo("clima.rule", "{}: Attivazione Riscaldamento (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(1)
|
||||
// }
|
||||
// } else if (ambient >= turnOffTemp) {
|
||||
// if(currMode != 2) {
|
||||
// logInfo("clima.rule", "{}: Raggiunto target inverno (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(2)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// end
|
||||
|
||||
|
||||
// rule "Fine tuning climatizzatori dinamico"
|
||||
// when
|
||||
// Member of gClimaTrigger changed
|
||||
// then
|
||||
|
||||
// // // Filtro anti-rumore: ignora variazioni inferiori a 0.05°C
|
||||
// // val oldVal = triggeringItem.previousState.state as Number
|
||||
// // val newVal = triggeringItem.state as Number
|
||||
|
||||
// // if (Math.abs(newVal.doubleValue - oldVal.doubleValue) < 0.05) {
|
||||
// // logInfo("clima.rule", "{}: variazione troppo piccola ({} → {}), ignoro", triggeringItem.name, oldVal, newVal)
|
||||
// // return
|
||||
// // }
|
||||
|
||||
// // 1. Identificazione
|
||||
// val triggerName = triggeringItem.name
|
||||
// // Ricava la base, es: Heating_GU120_CL_C1
|
||||
// val baseName = triggerName.substring(0, triggerName.lastIndexOf("_"))
|
||||
|
||||
// // 2. Recupero Item correlati
|
||||
// val itemSet = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Set")
|
||||
// val itemTemp = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Temp")
|
||||
// val itemMode = ScriptServiceUtil.getItemRegistry.getItem(baseName + "_Mode")
|
||||
|
||||
// // 3. Controllo sicurezza (evitiamo errori se un item è appena nato o non inizializzato)
|
||||
// if (itemSet.state == NULL || itemTemp.state == NULL || itemMode.state == NULL) {
|
||||
// logWarn("clima.rule", "Uno degli Item per {} è NULL. Esco.", baseName)
|
||||
// return;
|
||||
// }
|
||||
|
||||
// // 4. Variabili locali
|
||||
// var target = itemSet.state as Number
|
||||
// val ambient = itemTemp.state as Number
|
||||
// val currMode = itemMode.state as Number
|
||||
|
||||
// // // Costanti (Assicurati che siano definite globalmente o mettile qui)
|
||||
// // val minTemp = 17
|
||||
// // val maxTemp = 28
|
||||
// // val offsetVal = 0.5 // Esempio
|
||||
// // val range = 0.2 // Esempio
|
||||
|
||||
// // 5. Logica di Business
|
||||
// // Limito target se fuori range
|
||||
// if(target < minTemp) {
|
||||
// target = minTemp
|
||||
// itemSet.sendCommand(target)
|
||||
// } else if(target > maxTemp) {
|
||||
// target = maxTemp
|
||||
// itemSet.sendCommand(target)
|
||||
// }
|
||||
|
||||
// var Number turnOnTemp = 0
|
||||
// var Number turnOffTemp = 0
|
||||
|
||||
// if (CL_ModoEstivo.state == ON) {
|
||||
// turnOnTemp = target + offsetVal
|
||||
// turnOffTemp = target + offsetVal - range
|
||||
|
||||
// if (ambient >= turnOnTemp) {
|
||||
// if(currMode != 3) {
|
||||
// logInfo("clima.rule", "{}: Attivazione Raffrescamento (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(3)
|
||||
// }
|
||||
// } else if (ambient <= turnOffTemp) {
|
||||
// if(currMode != 2) {
|
||||
// logInfo("clima.rule", "{}: Raggiunto target estate (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(2)
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// turnOnTemp = target - offsetVal
|
||||
// turnOffTemp = target - offsetVal + range
|
||||
|
||||
// if (ambient <= turnOnTemp) {
|
||||
// if(currMode != 1) {
|
||||
// logInfo("clima.rule", "{}: Attivazione Riscaldamento (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(1)
|
||||
// }
|
||||
// } else if (ambient >= turnOffTemp) {
|
||||
// if(currMode != 2) {
|
||||
// logInfo("clima.rule", "{}: Raggiunto target inverno (Amb: {}, Target: {})", baseName, ambient, target)
|
||||
// itemMode.sendCommand(2)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// end
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
@@ -548,8 +770,8 @@ then
|
||||
SonoffLuci01_Switch2.sendCommand(ON) // U120 Muro
|
||||
SonoffLuci02_Switch3.sendCommand(ON) // Ufficio Sam
|
||||
|
||||
// impulso OFF dopo 500 ms
|
||||
createTimer(now.plusMillis(600), [|
|
||||
// impulso OFF dopo 400 ms
|
||||
createTimer(now.plusMillis(500), [|
|
||||
SonoffLuci03_Switch1.sendCommand(OFF) // U100 Ingresso
|
||||
SonoffLuci03_Switch3.sendCommand(OFF) // U100 Fila B
|
||||
SonoffLuci01_Switch1.sendCommand(OFF) // U120 Ingresso
|
||||
@@ -558,199 +780,4 @@ then
|
||||
])
|
||||
end
|
||||
|
||||
// rule "Preset luci ufficio"
|
||||
// when
|
||||
// Item Light_PresetSwitch received command
|
||||
// then
|
||||
// val luci = newArrayList(
|
||||
// SonoffLuci03_Switch1,
|
||||
// SonoffLuci03_Switch3,
|
||||
// SonoffLuci01_Switch1,
|
||||
// SonoffLuci01_Switch2,
|
||||
// SonoffLuci02_Switch3,
|
||||
// )
|
||||
|
||||
// // impulso ON
|
||||
// luci.forEach[ l | l.sendCommand(ON) ]
|
||||
|
||||
// // impulso OFF dopo 300 ms
|
||||
// createTimer(now.plusMillis(300), [|
|
||||
// luci.forEach[ l | l.sendCommand(OFF) ]
|
||||
// ])
|
||||
// end
|
||||
|
||||
// rule "Preset luci ufficio"
|
||||
// when
|
||||
// Item Light_PresetSwitch received command
|
||||
// then
|
||||
// val luci = newArrayList(
|
||||
// SonoffLuci02_Switch3,
|
||||
// SonoffLuci02_Switch4
|
||||
// )
|
||||
|
||||
// // impulso ON
|
||||
// luci.forEach[ l | l.sendCommand(ON) ]
|
||||
|
||||
// // impulso OFF dopo 300 ms
|
||||
// createTimer(now.plusMillis(300), [|
|
||||
// luci.forEach[ l | l.sendCommand(OFF) ]
|
||||
// ])
|
||||
// end
|
||||
|
||||
|
||||
// /**
|
||||
// * This is a demo rule which simulates a real dimmer by reacting to increase/decrease commands
|
||||
// * and posting an updated state on the bus
|
||||
// */
|
||||
// rule "Dimmed Light"
|
||||
// when
|
||||
// Item DimmedLight received command
|
||||
// then
|
||||
// if ((receivedCommand == INCREASE) || (receivedCommand == DECREASE)) {
|
||||
// var Number percent = 0
|
||||
// if (DimmedLight.state instanceof DecimalType) percent = DimmedLight.state as DecimalType
|
||||
|
||||
// if (receivedCommand == INCREASE) percent = percent + 5
|
||||
// if (receivedCommand == DECREASE) percent = percent - 5
|
||||
|
||||
// if (percent < 0) percent = 0
|
||||
// if (percent > 100) percent = 100
|
||||
// postUpdate(DimmedLight, percent);
|
||||
// }
|
||||
// end
|
||||
|
||||
// rule "Timer Demo"
|
||||
// when
|
||||
// Item Light_GF_Corridor_Ceiling received command
|
||||
// then
|
||||
// if (receivedCommand == ON) {
|
||||
// if (timer === null) {
|
||||
// // first ON command, so create a timer to turn the light off again
|
||||
// timer = createTimer(now.plusSeconds(10)) [|
|
||||
// sendCommand(Light_GF_Corridor_Ceiling, OFF)
|
||||
// ]
|
||||
// } else {
|
||||
// // subsequent ON command, so reschedule the existing timer
|
||||
// timer.reschedule(now.plusSeconds(10))
|
||||
// }
|
||||
// } else if (receivedCommand == OFF) {
|
||||
// // remove any previously scheduled timer
|
||||
// if (timer !== null) {
|
||||
// timer.cancel
|
||||
// timer = null
|
||||
// }
|
||||
// }
|
||||
// end
|
||||
|
||||
/**
|
||||
* The following rules help initializing the demo items with some helpful states.
|
||||
*/
|
||||
// rule "Initialize light states"
|
||||
// when
|
||||
// System started
|
||||
// then
|
||||
// Lights?.members.forEach(light|
|
||||
// postUpdate(light, if (Math::random > 0.7) ON else OFF)
|
||||
// )
|
||||
// end
|
||||
|
||||
// rule "Initialize heating states"
|
||||
// when
|
||||
// System started
|
||||
// then
|
||||
// Heating?.members.forEach(heating|
|
||||
// postUpdate(heating, if (Math::random > 0.8) ON else OFF)
|
||||
// )
|
||||
// postUpdate(Temperature_Setpoint, 22)
|
||||
// end
|
||||
|
||||
// rule "Initialize contact states"
|
||||
// when
|
||||
// System started
|
||||
// then
|
||||
// Windows?.members.forEach(window|
|
||||
// postUpdate(window, if (Math::random > 0.5) OPEN else CLOSED)
|
||||
// )
|
||||
// end
|
||||
|
||||
// rule "Initialize Location"
|
||||
// when
|
||||
// System started
|
||||
// then
|
||||
// DemoLocation.postUpdate(new PointType("52.5200066,13.4049540"))
|
||||
// end
|
||||
|
||||
// rule "Set random room temperatures"
|
||||
// when
|
||||
// System started or
|
||||
// Time cron "0 0/5 * * * ?"
|
||||
// then
|
||||
// Temperature?.members.forEach(temperature|
|
||||
// postUpdate(temperature, 20.0 + (25.0 - (Math::random * 50.0).intValue) / 10.0)
|
||||
// )
|
||||
// end
|
||||
|
||||
// rule "Set daily max and min temperature"
|
||||
// when
|
||||
// Item Weather_Temperature changed or
|
||||
// Time cron "0 0 0 * * ?" or
|
||||
// System started
|
||||
// then
|
||||
// val max = Weather_Temperature.maximumSince(now.withTimeAtStartOfDay)
|
||||
// val min = Weather_Temperature.minimumSince(now.withTimeAtStartOfDay)
|
||||
// if (max !== null && min !== null) {
|
||||
// postUpdate(Weather_Temp_Max, max.state)
|
||||
// postUpdate(Weather_Temp_Min, min.state)
|
||||
// }
|
||||
// end
|
||||
|
||||
// // Creates an item that stores the last update time of this item
|
||||
// rule "Records last weather update time"
|
||||
// when
|
||||
// Item Weather_Temperature received update
|
||||
// then
|
||||
// postUpdate(Weather_LastUpdate, new DateTimeType())
|
||||
// end
|
||||
|
||||
// rule "Set random wifi variations"
|
||||
// when
|
||||
// System started or
|
||||
// Time cron "/20 * * * * ?"
|
||||
// then
|
||||
// postUpdate(Wifi_Level, (Math::random * 4.0).intValue)
|
||||
// end
|
||||
|
||||
// rule "Set random image URLs"
|
||||
// when
|
||||
// Time cron "/10 * * * * ?"
|
||||
// then
|
||||
// val url = urlList.get(random.nextInt(urlList.length))
|
||||
// val res = resList.get(random.nextInt(resList.length))
|
||||
|
||||
// postUpdate(ImageURL, url + "/" + res)
|
||||
// end
|
||||
|
||||
// rule "Volume"
|
||||
// when
|
||||
// Item Volume received command
|
||||
// then
|
||||
// if (receivedCommand instanceof PercentType) {
|
||||
// setMasterVolume(receivedCommand)
|
||||
// } else {
|
||||
// if (receivedCommand == INCREASE) increaseMasterVolume(20)
|
||||
// if (receivedCommand == DECREASE) decreaseMasterVolume(20)
|
||||
// }
|
||||
// end
|
||||
|
||||
// rule "Select Radio Station"
|
||||
// when
|
||||
// Item Radio_Station received command
|
||||
// then
|
||||
// switch(receivedCommand) {
|
||||
// case 0 : playStream(null)
|
||||
// case 1 : playStream("http://metafiles.gl-systemhaus.de/hr/hr3_2.m3u")
|
||||
// case 2 : playStream("http://mp3-live.swr3.de/swr3_m.m3u")
|
||||
// }
|
||||
// end
|
||||
|
||||
// vim: syntax=Xtend
|
||||
|
||||
+261
-302
@@ -134,18 +134,21 @@ sitemap egalware label="EgalWare"
|
||||
}
|
||||
Text label="Andamento Grafico" icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" mappings=[0="1h",1="4h",2="12h",3="24h",4="3g",5="7g",6="1M",7="1Y"]
|
||||
Frame label="Temperature Rilevate"
|
||||
{
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=1000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==4] period=3D refresh=20000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==5] period=W refresh=30000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
|
||||
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_all" height=16
|
||||
}
|
||||
Switch item=CL_GrpScale label="Periodo" mappings=[0="1h",1="4h",2="12h",3="24h",4="3g",5="7g",6="1M",7="1Y"]
|
||||
// Frame label="Temperature Rilevate"
|
||||
// {
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=1000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==4] period=3D refresh=20000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==5] period=W refresh=30000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
|
||||
// Chart item=CL_Temp legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
|
||||
// }
|
||||
Frame label="Unità Attive"
|
||||
{
|
||||
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
@@ -168,17 +171,17 @@ sitemap egalware label="EgalWare"
|
||||
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
|
||||
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Temp Impostata"
|
||||
{
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==4] period=3D refresh=20000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==5] period=W refresh=30000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
|
||||
Chart item=CL_Set legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
|
||||
}
|
||||
// Frame label="Temp Impostata"
|
||||
// {
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==4] period=3D refresh=20000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==5] period=W refresh=30000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
|
||||
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
|
||||
// }
|
||||
Frame label="Velocita"
|
||||
{
|
||||
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
@@ -238,39 +241,42 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU120_CL_C1_Switch
|
||||
Text item=Heating_GU120_CL_C1_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c1" height=16
|
||||
}
|
||||
// Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
// Frame label="Temperatura"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Modo"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Fan Speed"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C1_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C1_Set minValue=19 maxValue=23 step=1 label="Imp. Ingresso"
|
||||
Setpoint item=Heating_GU120_CL_C1_Set minValue=19 maxValue=24 step=1 label="Imp. Ingresso"
|
||||
Setpoint item=Heating_GU120_CL_C1_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU120_CL_C1_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -279,39 +285,42 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU120_CL_C2_Switch
|
||||
Text item=Heating_GU120_CL_C2_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c2" height=16
|
||||
}
|
||||
// Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
// Frame label="Temperatura"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Modo"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Fan Speed"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C2_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C2_Set minValue=19 maxValue=23 step=1 label="Imp. Corridoio"
|
||||
Setpoint item=Heating_GU120_CL_C2_Set minValue=19 maxValue=24 step=1 label="Imp. Corridoio"
|
||||
Setpoint item=Heating_GU120_CL_C2_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU120_CL_C2_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -320,39 +329,42 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU120_CL_C3_Switch
|
||||
Text item=Heating_GU120_CL_C3_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c3" height=16
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
// Frame label="Temperatura"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Modo"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Fan Speed"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C3_Set minValue=19 maxValue=23 step=1 label="Imp. Finestra"
|
||||
Setpoint item=Heating_GU120_CL_C3_Set minValue=19 maxValue=24 step=1 label="Imp. Finestra"
|
||||
Setpoint item=Heating_GU120_CL_C3_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU120_CL_C3_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -361,39 +373,42 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU120_CL_C4_Switch
|
||||
Text item=Heating_GU120_CL_C4_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c4" height=16
|
||||
}
|
||||
// Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
// Frame label="Temperatura"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Modo"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Fan Speed"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C4_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C4_Set minValue=19 maxValue=23 step=1 label="Imp. Ufficio Samuele"
|
||||
Setpoint item=Heating_GU120_CL_C4_Set minValue=19 maxValue=24 step=1 label="Imp. Ufficio Samuele"
|
||||
Setpoint item=Heating_GU120_CL_C4_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU120_CL_C4_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -402,39 +417,42 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU120_CL_C5_Switch
|
||||
Text item=Heating_GU120_CL_C5_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c5" height=16
|
||||
}
|
||||
// Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
// Frame label="Temperatura"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Modo"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Fan Speed"
|
||||
// {
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU120_CL_C5_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C5_Set minValue=19 maxValue=23 step=1 label="Imp. Uff Emmanuele"
|
||||
Setpoint item=Heating_GU120_CL_C5_Set minValue=19 maxValue=24 step=1 label="Imp. Uff Emmanuele"
|
||||
Setpoint item=Heating_GU120_CL_C5_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU120_CL_C5_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -443,39 +461,42 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU100_CL_C6_Switch
|
||||
Text item=Heating_GU100_CL_C6_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c6" height=16
|
||||
}
|
||||
// Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
// Frame label="Temperatura"
|
||||
// {
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Modo"
|
||||
// {
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
// Frame label="Fan Speed"
|
||||
// {
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
// Chart item=Heating_GU100_CL_C6_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
// }
|
||||
}
|
||||
Setpoint item=Heating_GU100_CL_C6_Set minValue=19 maxValue=23 step=1
|
||||
Setpoint item=Heating_GU100_CL_C6_Set minValue=19 maxValue=24 step=1
|
||||
Setpoint item=Heating_GU100_CL_C6_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU100_CL_C6_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -484,39 +505,11 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU100_CL_C7_Switch
|
||||
Text item=Heating_GU100_CL_C7_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C7_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c7" height=16
|
||||
}
|
||||
}
|
||||
Setpoint item=Heating_GU100_CL_C7_Set minValue=19 maxValue=23 step=1
|
||||
Setpoint item=Heating_GU100_CL_C7_Set minValue=19 maxValue=24 step=1
|
||||
Setpoint item=Heating_GU100_CL_C7_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU100_CL_C7_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -525,39 +518,11 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU100_CL_C8_Switch
|
||||
Text item=Heating_GU100_CL_C8_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C8_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c8" height=16
|
||||
}
|
||||
}
|
||||
Setpoint item=Heating_GU100_CL_C8_Set minValue=19 maxValue=23 step=1
|
||||
Setpoint item=Heating_GU100_CL_C8_Set minValue=19 maxValue=24 step=1
|
||||
Setpoint item=Heating_GU100_CL_C8_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU100_CL_C8_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -566,39 +531,11 @@ sitemap egalware label="EgalWare"
|
||||
Switch item=Heating_GU100_CL_C9_Switch
|
||||
Text item=Heating_GU100_CL_C9_Temp icon="material:timeline"
|
||||
{
|
||||
Switch item=CL_GrpScale label="Periodo" icon="material:timeline" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
|
||||
Frame label="Temperatura"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Modo"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Mode legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
}
|
||||
Frame label="Fan Speed"
|
||||
{
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=5000
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==2,CL_GrpScale=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==3] period=D refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
|
||||
Chart item=Heating_GU100_CL_C9_Fan legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
|
||||
Frame label="Analisi Interattiva" {
|
||||
Webview url="/page/clima_chart_c9" height=16
|
||||
}
|
||||
}
|
||||
Setpoint item=Heating_GU100_CL_C9_Set minValue=19 maxValue=23 step=1
|
||||
Setpoint item=Heating_GU100_CL_C9_Set minValue=19 maxValue=24 step=1
|
||||
Setpoint item=Heating_GU100_CL_C9_Mode minValue=1 maxValue=4 step=1
|
||||
Setpoint item=Heating_GU100_CL_C9_Fan minValue=1 maxValue=3 step=1
|
||||
}
|
||||
@@ -725,6 +662,17 @@ sitemap egalware label="EgalWare"
|
||||
Chart item=ShellyEnergyBagno120 visibility=[FronLP==6] legend=true period=W refresh=60000
|
||||
Chart item=ShellyEnergyBagno120 visibility=[FronLP==7] legend=true period=2W refresh=60000
|
||||
}
|
||||
Frame label="Accensione Scaldasalviette"
|
||||
{
|
||||
Switch item=FronLP label="Periodo" icon="line" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==0,FronLP=="Uninitialized"] period=h refresh=1000
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==1] period=8h refresh=4000
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==2] period=D refresh=6000
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==3] period=3D refresh=10000
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==4] period=W refresh=60000
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==5] period=Y refresh=60000
|
||||
Chart item=ShellySwitchBagno120 legend=true visibility=[FronLP==6] period=M refresh=60000
|
||||
}
|
||||
}
|
||||
Switch item=ShellySwitchBagno100 label="Shelly Bagno Uomini" icon="material:power"
|
||||
Text item=ShellyPowerValBagno100 label="Bagno Uomini Realtime [%.1f W]" icon="oh:poweroutlet"
|
||||
@@ -753,6 +701,17 @@ sitemap egalware label="EgalWare"
|
||||
Chart item=ShellyEnergyBagno100 visibility=[FronLP==6] legend=true period=W refresh=60000
|
||||
Chart item=ShellyEnergyBagno100 visibility=[FronLP==7] legend=true period=2W refresh=60000
|
||||
}
|
||||
Frame label="Accensione Scaldasalviette"
|
||||
{
|
||||
Switch item=FronLP label="Periodo" icon="line" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==0,FronLP=="Uninitialized"] period=h refresh=1000
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==1] period=8h refresh=4000
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==2] period=D refresh=6000
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==3] period=3D refresh=10000
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==4] period=W refresh=60000
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==5] period=Y refresh=60000
|
||||
Chart item=ShellySwitchBagno100 legend=true visibility=[FronLP==6] period=M refresh=60000
|
||||
}
|
||||
}
|
||||
}
|
||||
Frame label="Ventilazione"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
1=Caldo
|
||||
2=Ventilazione
|
||||
3=Freddo
|
||||
4=Auto
|
||||
NULL=Sconosciuto
|
||||
-=Sconosciuto
|
||||
Reference in New Issue
Block a user