Update egalware x openHab 4

This commit is contained in:
Samuele Locatelli
2025-02-04 10:31:52 +01:00
parent 5ea4e4fd19
commit da024ca0f4
11 changed files with 649 additions and 375 deletions
+44
View File
@@ -0,0 +1,44 @@
directories:
logging: /var/log/openhab # Folder where the logs will be written to
rules: rules # Folder from which the rule files will be loaded
param: params # Folder from which the parameter files will be loaded
config: config # Folder from which configuration files (e.g. for textual thing configuration) will be loaded
lib: lib # Folder where additional libraries can be placed
location:
latitude: 0.0
longitude: 0.0
elevation: 0.0
mqtt:
connection:
identifier: HABApp-hVdNWLohZeAuv # Identifier that is used to uniquely identify this client on the mqtt broker.
host: '' # Connect to this host. Empty string ("") disables the connection.
port: 1883
user: ''
password: ''
tls:
enabled: true # Enable TLS for the connection
ca cert: . # Path to a CA certificate that will be treated as trusted
insecure: false # Validate server hostname in server certificate
subscribe:
qos: 0 # Default QoS for subscribing
topics:
- - '#'
-
publish:
qos: 0 # Default QoS when publishing values
retain: false # Default retain flag when publishing values
general:
listen_only: false # If True HABApp does not publish any value to the broker
openhab:
connection:
url: http://localhost:8080 # Connect to this url. Empty string ("") disables the connection.
user: ''
password: ''
verify_ssl: true # Check certificates when using https
general:
listen_only: false # If True HABApp does not change anything on the openHAB instance.
wait_for_openhab: true # If True HABApp will wait for a successful openHAB connection before loading any rules on startup
ping:
enabled: true # If enabled the configured item will show how long it takes to send an update from HABApp and get the updated value back from openHAB in milliseconds
item: HABApp_Ping # Name of the Numberitem
interval: 10 # Seconds between two pings
+55
View File
@@ -0,0 +1,55 @@
levels:
WARNING: WARN
formatters:
HABApp_format:
format: '[%(asctime)s] [%(name)25s] %(levelname)8s | %(message)s'
Frontail_format:
format: '%(asctime)s.%(msecs)03d [%(levelname)-5s] [%(name)-36s] - %(message)s'
datefmt: '%Y-%m-%d %H:%M:%S'
handlers:
# There are several Handlers available:
# - logging.handlers.RotatingFileHandler:
# Will rotate when the file reaches a certain size (see python logging documentation for args)
# - HABApp.config.logging.MidnightRotatingFileHandler:
# Will wait until the file reaches a certain size and then will rotate on midnight
# - HABApp.config.logging.CompressedMidnightRotatingFileHandler:
# Same as MidnightRotatingFileHandler but will rotate to a gzipped archive
# - More handlers:
# https://docs.python.org/3/library/logging.handlers.html#rotatingfilehandler
HABApp_default:
class: HABApp.config.logging.MidnightRotatingFileHandler
filename: '/var/log/openhab/HABApp.log'
maxBytes: 1_048_576
backupCount: 3
formatter: Frontail_format
level: DEBUG
EventFile:
class: HABApp.config.logging.MidnightRotatingFileHandler
filename: 'HABApp_events.log'
maxBytes: 1_048_576
backupCount: 3
formatter: HABApp_format
level: DEBUG
loggers:
HABApp:
level: INFO
handlers:
- HABApp_default
propagate: False
HABApp.EventBus:
level: INFO
handlers:
- EventFile
propagate: False
+11 -1
View File
@@ -60,7 +60,7 @@ Number Heating_GU100_CL_C9_Fan "Fan Riunioni"
Number Heating_GU100_CL_C9_Mode "Modo Riunioni [%s]" <oh:heating> (CL_Mode) {channel="modbus:data:629bd10994:7f619bd5fa:number"}
Switch SonoffServizi01_VorticeVCM "VMC 120" (VMC_Switch)
Switch SonoffServizi02_VorticeVCM "VMC 120" (VMC_Switch)
Switch SonoffServizi02_VorticeVCM "VMC 100" (VMC_Switch)
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Netatmo ----------------------*/
@@ -128,6 +128,16 @@ Number FronLP
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Shelly Power & Consumption ----------------------*/
// variabili accessorie
Switch ShellyPowerSwitchApc "Stato controllo Shelly - presa area Stampanti" {channel="shelly:shellyplus1pm:10061cd3a2c0:relay#output"}
Switch ShellyPowerSwitchCaffe "Stato controllo Shelly - presa area Caffe" {channel="shelly:shellyplus1pm:c4d8d5430ba8:relay#output"}
Number ShellyPowerValApc "Carico Istantaneo Shelly Stampanti [%.1f W]" {channel="shelly:shellyplus1pm:10061cd3a2c0:meter#currentWatts"}
Number ShellyPowerValCaffe "Carico Istantaneo Shelly Caffe [%.1f W]" {channel="shelly:shellyplus1pm:c4d8d5430ba8:meter#currentWatts"}
Number ShellyPowerValAll "Carico Totale Shelly [%.1f W]"
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Networking ----------------------*/
// Group gNet
// Group gNet_print "Printers" <oh:network> (gNet) ["Printers"]
+150 -165
View File
@@ -7,31 +7,33 @@ val Random random = new Random()
// "https://www.placecage.com", "https://www.placecage.com/c", "https://www.placecage.com/g")
// inverno
var powerOnTemp = 22
var powerOnTempLow = 22
var powerOnTemp = 23
var powerOnTempLow = 21
var minTemp = 19
var maxTemp = 23
var maxTemp = 24
var limPrelievoReteMax = 8000
var limPrelievoReteMin = 6000
var oraVmcOn = 7
var limPrelievoReteMin = 5000
var oraVmcOn = 4
var oraVmcOff = 20
// // estate
// var powerOnTemp = 26
// var powerOnTempLow = 25
// var powerOnTemp = 27
// var powerOnTempLow = 27
// var minTemp = 23
// var maxTemp = 27
// var maxTemp = 28
// var limPrelievoReteMax = 5000
// var limPrelievoReteMin = 3000
// var oraVmcOn = 4
// var oraVmcOff = 22
// // parametri gestione inseguimento temperatura estate
// var offset = 0.4 as Number
// var offsetVal = 0.4 as Number
// var range = 0.1 as Number
// parametri gestione inseguimento temperatura inverno
var offset = 0.1
var range = 0.2
//var offsetVal = 0.1
//var range = 0.2
var offsetVal = 0.2
var range = 0.4
/**********************************************************************
* Rules x calcoli valori ENERGIA
@@ -41,7 +43,10 @@ when
Item Fn_FullLoadNeg changed
then
if (Fn_FullLoadNeg.state instanceof Number) {
Fn_FullLoadPos.postUpdate((Fn_FullLoadNeg.state as Number) * -1)
//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
}
@@ -52,6 +57,7 @@ when
Item Fn_PrelRete changed
//Time cron "0 * * * * *"
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)
@@ -59,39 +65,44 @@ then
else {
Fn_PrelReteNet.postUpdate(0)
}
//logInfo("Fn_PrelRete.rules", "Fn_PrelReteNet:{}", Fn_PrelReteNet.state)
//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_PrelRete.rules", "inizio:{}, dayTime: {}", inizio, dayTime)
// var Number mediaGiorn = Fn_PrelRete.averageSince(now.withTimeAtStartOfDay).doubleValue
// logInfo("Fn_PrelRete.rules", "mediaGiorn: {}", mediaGiorn)
// var Number mediaGiornNet = Fn_PrelReteNet.averageSince(now.withTimeAtStartOfDay).doubleValue
var Number mediaGiornNet = Fn_PrelReteNet.averageSince(now.withHour(0).withMinute(0).withSecond(0)).doubleValue
// logInfo("Fn_PrelRete.rules", "mediaGiornNet: {}", mediaGiornNet)
//logInfo("Fn_PrelReteDay.rules", "inizio: {}, dayTime: {}", inizio, dayTime)
//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 = mediaGiornNet * dayTime / 1000
//logInfo("Fn_PrelRete.rules", "kWh:{}", kWh)
var double kWh = dayAVG_net * dayTime / 1000
//logWarn("Fn_PrelReteDay.rules", "kWh: {}", kWh)
Fn_PrelReteDay.postUpdate(kWh)
end
rule "Carico totale Shelly"
when
Item ShellyPowerValApc changed or Item ShellyPowerValCaffe changed
then
//logInfo("ShellyPower.rules", "Start Shelly addition")
var Number spCaffe = ShellyPowerValCaffe.state as Number
var Number spApc = ShellyPowerValApc.state as Number
var Number spAll = (spCaffe + spApc) as Number
// logInfo("ShellyPower.rules", "Caffe: {} W", spCaffe)
// logInfo("ShellyPower.rules", "Printers {} W", spApc)
// logInfo("ShellyPower.rules", "All {} W", spAll)
ShellyPowerValAll.postUpdate(spAll)
end
/**********************************************************************
* Rules x automazione CLIMA ALWAYS
**********************************************************************/
rule "Accensione mattino 7.10 ufficio Dario"
when
Time cron "0 10 7 * * MON-SAT"
then
Heating_GU100_CL_C8_Switch.sendCommand(ON)
// imposto temperature
Heating_GU100_CL_C8_Set.sendCommand(powerOnTempLow)
end
rule "Accensione mattino 7.00 ufficio Samuele"
rule "Accensione mattino 7.00 Uff Samuele"
when
Time cron "0 0 7 * * MON-SAT"
then
@@ -100,64 +111,73 @@ then
Heating_GU120_CL_C4_Set.sendCommand(powerOnTempLow)
end
rule "Accensione mattino 7.40 finestra"
rule "Accensione mattino 7.05 Uff Dario"
when
Time cron "0 40 7 * * MON-SAT"
Time cron "0 5 7 * * MON-SAT"
then
Heating_GU120_CL_C3_Switch.sendCommand(ON)
Heating_GU100_CL_C8_Switch.sendCommand(ON)
// imposto temperature
Heating_GU120_CL_C3_Set.sendCommand(powerOnTemp)
Heating_GU100_CL_C8_Set.sendCommand(powerOnTempLow)
end
rule "Accensione mattino 8.10 Desk"
rule "Accensione mattino 7.30 Corridoio"
when
Time cron "0 10 8 * * MON-SAT"
then
Heating_GU100_CL_C6_Switch.sendCommand(ON)
// imposto temperature
Heating_GU100_CL_C6_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 8.20 OpenSpace"
when
Time cron "0 20 8 * * MON-SAT"
then
Heating_GU100_CL_C7_Switch.sendCommand(ON)
// imposto temperature
Heating_GU100_CL_C7_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 8.00 corridoio"
when
Time cron "0 0 8 * * MON-SAT"
Time cron "0 30 7 * * MON-SAT"
then
Heating_GU120_CL_C2_Switch.sendCommand(ON)
// imposto temperature
Heating_GU120_CL_C2_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 8.10 ingresso"
rule "Accensione mattino 7.45 OpenSpace"
when
Time cron "0 10 8 * * MON-SAT"
Time cron "0 45 7 * * MON-SAT"
then
Heating_GU100_CL_C7_Switch.sendCommand(ON)
// imposto temperature
Heating_GU100_CL_C7_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 8.00 finestra"
when
Time cron "0 0 8 * * MON-SAT"
then
Heating_GU120_CL_C3_Switch.sendCommand(ON)
// imposto temperature
Heating_GU120_CL_C3_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 8.20 Desk"
when
Time cron "0 20 8 * * MON-SAT"
then
Heating_GU100_CL_C6_Switch.sendCommand(ON)
// imposto temperature
Heating_GU100_CL_C6_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 8.40 area caffè"
when
Time cron "0 40 8 * * MON-SAT"
then
Heating_GU120_CL_C1_Switch.sendCommand(ON)
// imposto temperature
Heating_GU120_CL_C1_Set.sendCommand(powerOnTemp)
end
rule "Accensione mattino 7.30 ufficio Emmanuele"
rule "Accensione mattino 9.00 ufficio Emmanuele"
when
Time cron "0 30 7 * * MON-SAT"
Time cron "0 0 9 * * MON-SAT"
then
Heating_GU120_CL_C5_Switch.sendCommand(ON)
// imposto temperature
Heating_GU120_CL_C5_Set.sendCommand(powerOnTempLow)
end
rule "Accensione mattino 8.30 Sala Riunioni"
rule "Accensione mattino 9.30 Sala Riunioni"
when
Time cron "0 30 8 * * MON-SAT"
Time cron "0 30 9 * * MON-SAT"
then
Heating_GU100_CL_C9_Switch.sendCommand(ON)
// imposto temperature
@@ -167,7 +187,7 @@ end
// rule ri-accensione ogni 30 min di ogni impianto in orario lavoro...
rule "Ri-Accensione ogni 30min"
when
Time cron "0 15/30 8-18 * * MON-SAT"
Time cron "0 15/10 9-19 * * MON-SAT"
then
Heating_GU120_CL_C1_Switch.sendCommand(ON)
Heating_GU120_CL_C2_Switch.sendCommand(ON)
@@ -190,9 +210,9 @@ then
end
rule "Accensione 1/3 impianti OGNI mattino 9.10"
rule "Accensione 1/3 impianti OGNI mattino 9.20"
when
Time cron "0 10 9 * * ?"
Time cron "0 20 9 * * ?"
then
Heating_GU120_CL_C2_Switch.sendCommand(ON)
Heating_GU120_CL_C5_Switch.sendCommand(ON)
@@ -200,9 +220,9 @@ then
end
rule "Accensione 1/3 impianti OGNI mattino 9.20"
rule "Accensione 1/3 impianti OGNI mattino 9.40"
when
Time cron "0 20 9 * * ?"
Time cron "0 40 9 * * ?"
then
Heating_GU120_CL_C3_Switch.sendCommand(ON)
Heating_GU100_CL_C6_Switch.sendCommand(ON)
@@ -334,63 +354,26 @@ end
/**********************************************************************/
/**********************************************************************
* Rules x automazione CLIMA
**********************************************************************/
// rule "Accensione Riscaldamento mattino ingresso SAM in inverno"
// when
// Item gNet_Mobile_Sam changed to ON
// //and
// //Time cron "* * * * JAN,FEB,NOV,DEC ?"
// then
// // if (CL_Temp.state < 19)
// // {
// Heating_GU120_CL_C1_Switch.sendCommand(ON)
// Heating_GU120_CL_C2_Switch.sendCommand(ON)
// Heating_GU120_CL_C3_Switch.sendCommand(ON)
// Heating_GU120_CL_C4_Switch.sendCommand(ON)
// Heating_GU120_CL_C5_Switch.sendCommand(ON)
// // }
// end
/**********************************************************************/
/**********************************************************************
* Rules x automazione aria VMC
**********************************************************************/
// rule "Spegnimento serale VMC 19.30, 19.40, 19.50"
// when
// Time cron "0 30/10 19 * * ?"
// then
// SonoffServizi01_VorticeVCM.sendCommand(OFF)
// SonoffServizi02_VorticeVCM.sendCommand(OFF)
// end
// rule "Spegnimento serale VMC 20.00"
// when
// Time cron "0 0/10 20 * * ?"
// then
// SonoffServizi01_VorticeVCM.sendCommand(OFF)
// SonoffServizi02_VorticeVCM.sendCommand(OFF)
// end
// // spegnimento invernale
// rule "Spegnimento serale VMC (periodo ampio + variabile inverno/estate x cambio comportamento)"
// when
// Time cron "0 0/30 23 * * ?"
// // Time cron "0 0/30 19-23 * * ?"
// then
// val hour = (MyDateTimeItem.state as DateTimeType).zonedDateTime.hour
// if(hour >= oraVmcOff)
// {
// SonoffServizi01_VorticeVCM.sendCommand(OFF)
// SonoffServizi02_VorticeVCM.sendCommand(OFF)
// }
// end
// spegnimento invernale
rule "Spegnimento serale VMC (periodo ampio + variabile inverno/estate x cambio comportamento)"
when
Time cron "0 0/30 23 * * ?"
// Time cron "0 0/30 19-23 * * ?"
then
val hour = (MyDateTimeItem.state as DateTimeType).zonedDateTime.hour
if(hour >= oraVmcOff)
{
SonoffServizi01_VorticeVCM.sendCommand(OFF)
SonoffServizi02_VorticeVCM.sendCommand(OFF)
}
end
// rule "Accensione mattutina VMC"
// when
@@ -404,24 +387,25 @@ rule "Verifica x Spegnimento tutti VMC (o solo num 2) se carico > limiti ogni 10
when
// Time cron "0 15/10 7-19 * * ?"
// Time cron "0 15/10 5-23 * * ?"
Time cron "0 10/10 * * * ?"
// Time cron "0 15/10 * * * ?"
Time cron "0 15/10 7-20 * * ?"
then
logInfo("VMC Check","check 01, Fn_PrelRete.state: {}",Fn_PrelRete.state)
logInfo("VMC Check","check 01, Fn_PrelRete.state: {}", Fn_PrelRete.state)
if((Fn_PrelRete.state as Number) > limPrelievoReteMax)
{
logInfo("VMC Check","check 01, step A")
logInfo("VMC Check","check 01, A | OFF + OFF")
SonoffServizi01_VorticeVCM.sendCommand(OFF)
SonoffServizi02_VorticeVCM.sendCommand(OFF)
}
else if((Fn_PrelRete.state as Number) > limPrelievoReteMin)
{
logInfo("VMC Check","check 01, step B")
logInfo("VMC Check","check 01, B | ON + OFF")
SonoffServizi01_VorticeVCM.sendCommand(ON)
SonoffServizi02_VorticeVCM.sendCommand(OFF)
}
else
{
logInfo("VMC Check","check 01, step C")
logInfo("VMC Check","check 01, C | ON + ON")
SonoffServizi01_VorticeVCM.sendCommand(ON)
SonoffServizi02_VorticeVCM.sendCommand(ON)
}
@@ -429,26 +413,27 @@ end
rule "Verifica x Spegnimento tutti VMC (o solo num 1) se carico > limiti ogni 10min"
when
//Time cron "0 10/10 7-19 * * ?"
// Time cron "0 10/10 7-19 * * ?"
// Time cron "0 10/10 5-23 * * ?"
Time cron "0 10/10 * * * ?"
// Time cron "0 10/10 * * * ?"
Time cron "0 10/10 7-20 * * ?"
then
logInfo("VMC Check","check 02, Fn_PrelRete.state: {}", Fn_PrelRete.state)
if((Fn_PrelRete.state as Number) > limPrelievoReteMax)
{
logInfo("VMC Check","check 02, step A")
logInfo("VMC Check","check 02, A | OFF + OFF")
SonoffServizi01_VorticeVCM.sendCommand(OFF)
SonoffServizi02_VorticeVCM.sendCommand(OFF)
}
else if((Fn_PrelRete.state as Number) > limPrelievoReteMin)
{
logInfo("VMC Check","check 02, step B")
logInfo("VMC Check","check 02, B | OFF + ON")
SonoffServizi01_VorticeVCM.sendCommand(OFF)
SonoffServizi02_VorticeVCM.sendCommand(ON)
}
else
{
logInfo("VMC Check","check 02, step C")
logInfo("VMC Check","check 02, C | ON + ON")
SonoffServizi01_VorticeVCM.sendCommand(ON)
SonoffServizi02_VorticeVCM.sendCommand(ON)
}
@@ -479,8 +464,8 @@ then
}
val ambient = Heating_GU120_CL_C1_Temp.state as Number
val currMode = Heating_GU120_CL_C1_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if (CL_ModoEstivo.state == ON)
{
if (ambient >= turnOnTemp) {
@@ -497,8 +482,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -532,8 +517,8 @@ then
}
val ambient = Heating_GU120_CL_C2_Temp.state as Number
val currMode = Heating_GU120_CL_C2_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
if (ambient >= turnOnTemp) {
@@ -550,8 +535,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -585,8 +570,8 @@ then
}
val ambient = Heating_GU120_CL_C3_Temp.state as Number
val currMode = Heating_GU120_CL_C3_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
if (ambient >= turnOnTemp) {
@@ -603,8 +588,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -638,8 +623,8 @@ then
}
val ambient = Heating_GU120_CL_C4_Temp.state as Number
val currMode = Heating_GU120_CL_C4_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
@@ -657,8 +642,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -692,8 +677,8 @@ then
}
val ambient = Heating_GU120_CL_C5_Temp.state as Number
val currMode = Heating_GU120_CL_C5_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
if (ambient >= turnOnTemp) {
@@ -710,8 +695,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -745,8 +730,8 @@ then
}
val ambient = Heating_GU100_CL_C6_Temp.state as Number
val currMode = Heating_GU100_CL_C6_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
@@ -764,8 +749,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -800,8 +785,8 @@ then
}
val ambient = Heating_GU100_CL_C7_Temp.state as Number
val currMode = Heating_GU100_CL_C7_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
@@ -819,8 +804,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -855,8 +840,8 @@ then
}
val ambient = Heating_GU100_CL_C8_Temp.state as Number
val currMode = Heating_GU100_CL_C8_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
@@ -874,8 +859,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
@@ -910,8 +895,8 @@ then
}
val ambient = Heating_GU100_CL_C9_Temp.state as Number
val currMode = Heating_GU100_CL_C9_Mode.state as Number
var turnOnTemp = target + offset
var turnOffTemp = target + offset - range
var turnOnTemp = target + offsetVal
var turnOffTemp = target + offsetVal - range
if(CL_ModoEstivo.state == ON)
{
@@ -929,8 +914,8 @@ then
}
else
{
turnOnTemp = target - offset
turnOffTemp = target - offset + range
turnOnTemp = target - offsetVal
turnOffTemp = target - offsetVal + range
if (ambient <= turnOnTemp) {
if(currMode != 1)
{
+10
View File
@@ -8,6 +8,16 @@
#
#includeIncompatible = false
# The system can automatically suggest add-ons for installation using add-on finders.
# If you don't want add-on suggestions from specific finders, you can disable the respective finders.
# They are enabled by default.
#
#suggestionFinderIp = true
#suggestionFinderMdns = true
#suggestionFinderSddp = true
#suggestionFinderUpnp = true
#suggestionFinderUsb = true
# The add-on configuration in the lists below is applied EVERY TIME openHAB is started.
# Add-ons installed using the UI that do not occur in the lists will be uninstalled each startup.
# When lists are commented again any add-ons in the list remain installed and are not removed.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+137 -184
View File
@@ -4,15 +4,15 @@ sitemap egalware label="EgalWare"
Frame item=Fn_FullLoadPos label="Energia"
{
Text item=Fn_FullLoadPos label="Energia [%.0f W]" icon="oh:poweroutlet_eu"
Text item=Fn_FullLoadPos label="Energia [%.0f W]" icon="material:bolt"
{
Frame label="Potenza Istantanea"
{
Text item=Fn_FullLoadPos icon="oh:poweroutlet_eu"
Text item=Fn_FullLoadPos icon="material:bolt"
{
Frame label="(A) ↓ Impiego (B+C = Full Load) [%.0f W]"
{
Switch item=FronLP label="Periodo" icon="oh:line" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
Switch item=FronLP label="Periodo" icon="material:timeline" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
Chart item=Fn_FullLoadPos visibility=[FronLP==0,FronLP=="Uninitialized"] legend=true period=h refresh=500
Chart item=Fn_FullLoadPos visibility=[FronLP==1] legend=true period=4h refresh=1000
Chart item=Fn_FullLoadPos visibility=[FronLP==2] legend=true period=12h refresh=1000
@@ -23,11 +23,11 @@ sitemap egalware label="EgalWare"
Chart item=Fn_FullLoadPos visibility=[FronLP==7] legend=true period=2W refresh=60000
}
}
Text item=Fn_PrelRete icon="oh:energy"
Text item=Fn_PrelRete icon="material:electric_meter"
{
Frame label="(B) ↓ Da Rete [%.0f W]"
{
Switch item=FronGP label="Periodo" icon="oh:line" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
Switch item=FronGP label="Periodo" icon="material:timeline" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
Chart item=Fn_PrelRete visibility=[FronGP==0,FronGP=="Uninitialized"] legend=true period=h refresh=500
Chart item=Fn_PrelRete visibility=[FronGP==1] legend=true period=4h refresh=1000
Chart item=Fn_PrelRete visibility=[FronGP==2] legend=true period=12h refresh=1000
@@ -38,11 +38,11 @@ sitemap egalware label="EgalWare"
Chart item=Fn_PrelRete visibility=[FronGP==7] legend=true period=2W refresh=60000
}
}
Text item=Fn_FromFV icon="oh:solarplant"
Text item=Fn_FromFV icon="material:solar_power"
{
Frame label="(C) ↑ Da Fotovoltaico"
{
Switch item=FronPacInt label="Periodo" icon="oh:line" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
Switch item=FronPacInt label="Periodo" icon="material:timeline" mappings=[0="1h", 1="4h", 2="12h", 3="24h", 4="2g", 5="3g", 6="7g", 7="2w"]
Chart item=Fn_FromFV visibility=[FronPacInt==0,FronPacInt=="Uninitialized"] legend=true period=h refresh=500
Chart item=Fn_FromFV visibility=[FronPacInt==1] legend=true period=4h refresh=1000
Chart item=Fn_FromFV visibility=[FronPacInt==2] legend=true period=12h refresh=5000
@@ -56,11 +56,11 @@ sitemap egalware label="EgalWare"
}
Frame label="Valori Giornalieri"
{
Text item=Fn_PrelReteDay icon="oh:energy"
Text item=Fn_PrelReteDay icon="material:electric_meter"
{
Frame label="↓ Consumo gg [%.2f kWh]"
{
Switch item=FronDayEnInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="3g", 2="7g", 3="1M", 4="2M", 5="1Y"]
Switch item=FronDayEnInt label="Periodo" icon="material:timeline" mappings=[0="12h", 1="3g", 2="7g", 3="1M", 4="2M", 5="1Y"]
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==0,FronDayEnInt=="Uninitialized"] legend=true period=12h refresh=100
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==1] legend=true period=3D refresh=2000
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==2] legend=true period=W refresh=3000
@@ -69,11 +69,11 @@ sitemap egalware label="EgalWare"
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==5] legend=true period=Y refresh=60000
}
}
Text item=Fn_ProdFVDay icon="oh:solarplant"
Text item=Fn_ProdFVDay icon="material:solar_power"
{
Frame label="↑ Produzione gg [%.2f kWh]"
{
Switch item=FronDayEnInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="3g", 2="7g", 3="1M", 4="2M", 5="1Y"]
Switch item=FronDayEnInt label="Periodo" icon="material:timeline" mappings=[0="12h", 1="3g", 2="7g", 3="1M", 4="2M", 5="1Y"]
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==0,FronDayEnInt=="Uninitialized"] legend=true period=12h refresh=1000
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==1] legend=true period=3D refresh=2000
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==2] legend=true period=W refresh=3000
@@ -85,22 +85,22 @@ sitemap egalware label="EgalWare"
}
Frame label="Grafici"
{
Text item=Fn_ProdFVYearProd label="Produzione Annuale" icon="oh:line"
Text item=Fn_ProdFVYearProd label="Produzione Annuale" icon="material:timeline"
{
Frame label="Produzione Annuale"
{
Switch item=FronYearEnInt label="Periodo" icon="oh:line" mappings=[0="7g", 1="1M", 2="2M", 3="1Y"]
Switch item=FronYearEnInt label="Periodo" icon="material:timeline" mappings=[0="7g", 1="1M", 2="2M", 3="1Y"]
Chart item=Fn_ProdFVYearProd visibility=[FronYearEnInt==0,FronYearEnInt=="Uninitialized"] legend=true period=W refresh=1000
Chart item=Fn_ProdFVYearProd visibility=[FronYearEnInt==1] legend=true period=M refresh=5000
Chart item=Fn_ProdFVYearProd visibility=[FronYearEnInt==2] legend=true period=2M refresh=10000
Chart item=Fn_ProdFVYearProd visibility=[FronYearEnInt==3] legend=true period=Y refresh=60000
}
}
Text item=Fn_ProdFVTotProd label="Produzione Totale" icon="oh:line"
Text item=Fn_ProdFVTotProd label="Produzione Totale" icon="material:stacked_line_chart"
{
Frame label="Produzione Annuale"
{
Switch item=FronTotEnInt label="Periodo" icon="oh:line" mappings=[0="7g", 1="1M", 2="2M", 3="1Y"]
Switch item=FronTotEnInt label="Periodo" icon="material:timeline" mappings=[0="7g", 1="1M", 2="2M", 3="1Y"]
Chart item=Fn_ProdFVTotProd visibility=[FronTotEnInt==0, FronTotEnInt=="Uninitialized"] legend=true period=W refresh=1000
Chart item=Fn_ProdFVTotProd visibility=[FronTotEnInt==1] legend=true period=M refresh=5000
Chart item=Fn_ProdFVTotProd visibility=[FronTotEnInt==2] legend=true period=2M refresh=10000
@@ -108,7 +108,6 @@ sitemap egalware label="EgalWare"
}
}
}
// Group item=gEN label="Fronius 6KW" icon="oh:solarplant"
}
}
Frame label="Ufficio"
@@ -116,13 +115,13 @@ sitemap egalware label="EgalWare"
// Clima setup manuale
// Inverno
// minValue=[19] maxValue=[23]
// minValue=19 maxValue=23
// minValue=19 maxValue=23
// Estate
// minValue=[23] maxValue=[27]
// minValue=23 maxValue=27
Group item=CL_Switch label="Climatizzazione" icon="heating"
// minValue=23 maxValue=27
Group item=CL_Switch label="Climatizzazione" icon="material:hvac"
{
Group item=CL_Switch label="Unità Attive"
Group item=CL_Switch label="Unità Attive" icon="material:power_settings_new"
{
Switch item=CL_Switch label="Generale"
Switch item=Heating_GU120_CL_C1_Switch
@@ -135,9 +134,9 @@ sitemap egalware label="EgalWare"
Switch item=Heating_GU100_CL_C8_Switch
Switch item=Heating_GU100_CL_C9_Switch
}
Text label="Andamento Grafico" icon="oh:line"
Text label="Andamento Grafico" icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:time" mappings=[0="1h",1="4h",2="12h",3="24h",4="3g",5="7g",6="1M",7="1Y"]
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
@@ -149,7 +148,7 @@ sitemap egalware label="EgalWare"
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" icon="oh:switch"
Frame label="Unità Attive"
{
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
@@ -160,7 +159,7 @@ sitemap egalware label="EgalWare"
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
}
Frame label="Modo Clima" icon="oh:switch"
Frame label="Modo Clima"
{
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
@@ -171,7 +170,7 @@ 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" icon="oh:switch"
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
@@ -182,7 +181,7 @@ sitemap egalware label="EgalWare"
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" icon="oh:switch"
Frame label="Velocita"
{
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==1] period=4h refresh=4000
@@ -194,20 +193,20 @@ sitemap egalware label="EgalWare"
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==7] period=Y refresh=60000
}
}
Group item=CL_Temp label="Temperatura (Media)"
Group item=CL_Set label="Set Temperature"
Group item=CL_Temp label="Temperatura (Media)" icon="material:thermostat"
Group item=CL_Set label="Set Temperature" icon="material:thermostat_auto"
{
Setpoint item=Heating_GU120_CL_C1_Set minValue=19 maxValue=23 step=1 label="Set Ingresso"
Setpoint item=Heating_GU120_CL_C2_Set minValue=19 maxValue=23 step=1 label="Set Corridoio"
Setpoint item=Heating_GU120_CL_C3_Set minValue=19 maxValue=23 step=1 label="Set Finestra"
Setpoint item=Heating_GU120_CL_C4_Set minValue=19 maxValue=23 step=1 label="Set Uff Samuele"
Setpoint item=Heating_GU120_CL_C5_Set minValue=19 maxValue=23 step=1 label="Set Uff EmmanueleUff"
Setpoint item=Heating_GU100_CL_C6_Set minValue=19 maxValue=23 step=1 label="Set Desk"
Setpoint item=Heating_GU100_CL_C7_Set minValue=19 maxValue=23 step=1 label="Set OpenSpace"
Setpoint item=Heating_GU100_CL_C8_Set minValue=19 maxValue=23 step=1 label="Set Uff Dario"
Setpoint item=Heating_GU100_CL_C9_Set minValue=19 maxValue=23 step=1 label="Set Sala Riunioni"
Setpoint item=Heating_GU120_CL_C1_Set minValue=19 maxValue=24 step=1 label="Set Ingresso"
Setpoint item=Heating_GU120_CL_C2_Set minValue=19 maxValue=24 step=1 label="Set Corridoio"
Setpoint item=Heating_GU120_CL_C3_Set minValue=19 maxValue=24 step=1 label="Set Finestra"
Setpoint item=Heating_GU120_CL_C4_Set minValue=19 maxValue=24 step=1 label="Set Uff Samuele"
Setpoint item=Heating_GU120_CL_C5_Set minValue=19 maxValue=24 step=1 label="Set Uff EmmanueleUff"
Setpoint item=Heating_GU100_CL_C6_Set minValue=19 maxValue=24 step=1 label="Set Desk"
Setpoint item=Heating_GU100_CL_C7_Set minValue=19 maxValue=24 step=1 label="Set OpenSpace"
Setpoint item=Heating_GU100_CL_C8_Set minValue=19 maxValue=24 step=1 label="Set Uff Dario"
Setpoint item=Heating_GU100_CL_C9_Set minValue=19 maxValue=24 step=1 label="Set Sala Riunioni"
}
Group item=CL_Mode
Group item=CL_Mode icon="material:ac_unit"
{
Switch item=CL_ModoEstivo
Setpoint item=Heating_GU120_CL_C1_Mode minValue=1 maxValue=4 step=1 label="Modo Ingresso"
@@ -220,7 +219,7 @@ sitemap egalware label="EgalWare"
Setpoint item=Heating_GU100_CL_C8_Mode minValue=1 maxValue=4 step=1 label="Modo Uff Dario"
Setpoint item=Heating_GU100_CL_C9_Mode minValue=1 maxValue=4 step=1 label="Modo Sala Riunioni"
}
Group item=CL_Fan
Group item=CL_Fan icon="material:mode_fan_off"
{
Setpoint item=Heating_GU120_CL_C1_Fan minValue=1 maxValue=3 step=1 label="Fan Ingresso"
Setpoint item=Heating_GU120_CL_C2_Fan minValue=1 maxValue=3 step=1 label="Fan Corridoio"
@@ -232,16 +231,16 @@ sitemap egalware label="EgalWare"
Setpoint item=Heating_GU100_CL_C8_Fan minValue=1 maxValue=3 step=1 label="Fan Uff Dario"
Setpoint item=Heating_GU100_CL_C9_Fan minValue=1 maxValue=3 step=1 label="Fan Sala Riunioni"
}
Text label="Set Unità" icon="settings"
Text label="Set Unità" icon="material:settings"
{
// Text label="Controllo Singolo" icon="heating"
// Text label="Controllo Singolo" icon="material:hvac"
// {
Text item=Heating_GU120_CL_C1_Switch label="U120 Clima Ingresso"
Text item=Heating_GU120_CL_C1_Switch label="U120 Clima Ingresso" icon="material:thermostat"
{
Switch item=Heating_GU120_CL_C1_Switch
Text item=Heating_GU120_CL_C1_Temp
Text item=Heating_GU120_CL_C1_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -277,12 +276,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU120_CL_C2_Switch label="U120 Clima Corridoio"
Text item=Heating_GU120_CL_C2_Switch label="U120 Clima Corridoio" icon="material:thermostat"
{
Switch item=Heating_GU120_CL_C2_Switch
Text item=Heating_GU120_CL_C2_Temp
Text item=Heating_GU120_CL_C2_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -318,12 +317,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU120_CL_C3_Switch label="U120 Clima Finestra"
Text item=Heating_GU120_CL_C3_Switch label="U120 Clima Finestra" icon="material:thermostat"
{
Switch item=Heating_GU120_CL_C3_Switch
Text item=Heating_GU120_CL_C3_Temp
Text item=Heating_GU120_CL_C3_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -359,12 +358,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU120_CL_C4_Switch label="U120 Clima Uff Samuele"
Text item=Heating_GU120_CL_C4_Switch label="U120 Clima Uff Samuele" icon="material:thermostat"
{
Switch item=Heating_GU120_CL_C4_Switch
Text item=Heating_GU120_CL_C4_Temp
Text item=Heating_GU120_CL_C4_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -400,12 +399,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU120_CL_C5_Switch label="U120 Clima Uff Emmanuele"
Text item=Heating_GU120_CL_C5_Switch label="U120 Clima Uff Emmanuele" icon="material:thermostat"
{
Switch item=Heating_GU120_CL_C5_Switch
Text item=Heating_GU120_CL_C5_Temp
Text item=Heating_GU120_CL_C5_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -441,12 +440,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU100_CL_C6_Switch label="U100 Desk Ingresso"
Text item=Heating_GU100_CL_C6_Switch label="U100 Desk Ingresso" icon="material:thermostat"
{
Switch item=Heating_GU100_CL_C6_Switch
Text item=Heating_GU100_CL_C6_Temp
Text item=Heating_GU100_CL_C6_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -482,12 +481,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU100_CL_C7_Switch label="U100 OpenSpace"
Text item=Heating_GU100_CL_C7_Switch label="U100 OpenSpace" icon="material:thermostat"
{
Switch item=Heating_GU100_CL_C7_Switch
Text item=Heating_GU100_CL_C7_Temp
Text item=Heating_GU100_CL_C7_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -523,12 +522,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU100_CL_C8_Switch label="U100 Uff Dario"
Text item=Heating_GU100_CL_C8_Switch label="U100 Uff Dario" icon="material:thermostat"
{
Switch item=Heating_GU100_CL_C8_Switch
Text item=Heating_GU100_CL_C8_Temp
Text item=Heating_GU100_CL_C8_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -564,12 +563,12 @@ sitemap egalware label="EgalWare"
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
}
Text item=Heating_GU100_CL_C9_Switch label="U100 Sala Riunioni"
Text item=Heating_GU100_CL_C9_Switch label="U100 Sala Riunioni" icon="material:thermostat"
{
Switch item=Heating_GU100_CL_C9_Switch
Text item=Heating_GU100_CL_C9_Temp
Text item=Heating_GU100_CL_C9_Temp icon="material:timeline"
{
Switch item=CL_GrpScale label="Periodo" icon="oh:line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
@@ -607,51 +606,85 @@ sitemap egalware label="EgalWare"
}
}
}
Text label="Luci Openspace" icon="oh:wallswitch"
// Group item=Luci label="Luci Openspace" icon="oh:wallswitch"
Text label="Luci Openspace" icon="material:lightbulb"
// Group item=Luci label="Luci Openspace" icon="material:lightbulb"
{
Frame label="U120" icon="oh:wallswitch"
Frame label="U120" icon="material:lightbulb"
{
Switch item=SonoffLuci01_Switch1 label="Ingresso" icon="oh:wallswitch"
Switch item=SonoffLuci01_Switch2 label="Muro" icon="oh:wallswitch"
Switch item=SonoffLuci01_Switch3 label="Corridoio" icon="oh:wallswitch"
Switch item=SonoffLuci01_Switch1 label="Ingresso" icon="material:lightbulb"
Switch item=SonoffLuci01_Switch2 label="Muro" icon="material:lightbulb"
Switch item=SonoffLuci01_Switch3 label="Corridoio" icon="material:lightbulb"
}
Frame label="U100" icon="oh:wallswitch"
Frame label="U100" icon="material:lightbulb"
{
Switch item=SonoffLuci03_Switch1 label="Ingresso" icon="oh:wallswitch"
Switch item=SonoffLuci03_Switch2 label="Fila A" icon="oh:wallswitch"
Switch item=SonoffLuci03_Switch3 label="Fila B" icon="oh:wallswitch"
Switch item=SonoffLuci03_Switch1 label="Ingresso" icon="material:lightbulb"
Switch item=SonoffLuci03_Switch2 label="Fila A" icon="material:lightbulb"
Switch item=SonoffLuci03_Switch3 label="Fila B" icon="material:lightbulb"
}
}
Text label="Luci Uffici" icon="oh:wallswitch"
// Group item=Luci label="Luci Uffici" icon="oh:wallswitch"
Text label="Luci Uffici" icon="material:lightbulb"
// Group item=Luci label="Luci Uffici" icon="material:lightbulb"
{
Frame label="U100" icon="oh:wallswitch"
Frame label="U100" icon="material:lightbulb"
{
Switch item=SonoffServizi02_Switch5 label="Uff Dario" icon="oh:wallswitch"
Switch item=SonoffLuci03_Switch4 label="Sala Riunioni" icon="oh:wallswitch"
Switch item=SonoffServizi02_Switch5 label="Uff Dario" icon="material:lightbulb"
Switch item=SonoffLuci03_Switch4 label="Sala Riunioni" icon="material:lightbulb"
}
Frame label="U120" icon="oh:wallswitch"
Frame label="U120" icon="material:lightbulb"
{
Switch item=SonoffLuci02_Switch1 label="Uff Emmanuele Muro" icon="oh:wallswitch"
Switch item=SonoffLuci02_Switch2 label="Uff Emmanuele Porta" icon="oh:wallswitch"
Switch item=SonoffLuci02_Switch3 label="Uff Samuele Porta" icon="oh:wallswitch"
Switch item=SonoffLuci02_Switch4 label="Uff Samuele Finestra" icon="oh:wallswitch"
Switch item=SonoffLuci02_Switch1 label="Uff Emmanuele Muro" icon="material:lightbulb"
Switch item=SonoffLuci02_Switch2 label="Uff Emmanuele Porta" icon="material:lightbulb"
Switch item=SonoffLuci02_Switch3 label="Uff Samuele Porta" icon="material:lightbulb"
Switch item=SonoffLuci02_Switch4 label="Uff Samuele Finestra" icon="material:lightbulb"
}
}
Text label="Servizi" icon="oh:group"
// Group item=Servizi label="Servizi" icon="oh:group"
{
Frame label="Ventilazione" icon="oh:group"
Text label="Servizi" icon="material:handyman"
{
Frame label="Shelly"
{
Switch item=SonoffServizi01_VorticeVCM label="VMC 120"
Switch item=SonoffServizi02_VorticeVCM label="VMC 100"
Switch item=SonoffServizi01_VentilatoreSR label="Sala server --> Corridoio"
Switch item=ShellyPowerSwitchApc label="Presa Shelly Stampanti" icon="material:power"
Switch item=ShellyPowerSwitchCaffe label="Presa Shelly Caffe" icon="material:power"
Text item=ShellyPowerValAll icon="material:electrical_services"
{
Frame item=ShellyPowerValApc label="Area Stampanti"
{
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=ShellyPowerValApc visibility=[FronLP==0,FronLP=="Uninitialized"] legend=true period=h refresh=500
Chart item=ShellyPowerValApc visibility=[FronLP==1] legend=true period=4h refresh=1000
Chart item=ShellyPowerValApc visibility=[FronLP==2] legend=true period=12h refresh=1000
Chart item=ShellyPowerValApc visibility=[FronLP==3] legend=true period=24h refresh=5000
Chart item=ShellyPowerValApc visibility=[FronLP==4] legend=true period=2D refresh=10000
Chart item=ShellyPowerValApc visibility=[FronLP==5] legend=true period=3D refresh=60000
Chart item=ShellyPowerValApc visibility=[FronLP==6] legend=true period=W refresh=60000
Chart item=ShellyPowerValApc visibility=[FronLP==7] legend=true period=2W refresh=60000
}
Frame item=ShellyPowerValCaffe label="Area Caffe"
{
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=ShellyPowerValCaffe visibility=[FronLP==0,FronLP=="Uninitialized"] legend=true period=h refresh=500
Chart item=ShellyPowerValCaffe visibility=[FronLP==1] legend=true period=4h refresh=1000
Chart item=ShellyPowerValCaffe visibility=[FronLP==2] legend=true period=12h refresh=1000
Chart item=ShellyPowerValCaffe visibility=[FronLP==3] legend=true period=24h refresh=5000
Chart item=ShellyPowerValCaffe visibility=[FronLP==4] legend=true period=2D refresh=10000
Chart item=ShellyPowerValCaffe visibility=[FronLP==5] legend=true period=3D refresh=60000
Chart item=ShellyPowerValCaffe visibility=[FronLP==6] legend=true period=W refresh=60000
Chart item=ShellyPowerValCaffe visibility=[FronLP==7] legend=true period=2W refresh=60000
}
}
}
Text label="Accensione Ventilazioni" icon="oh:line"
Frame label="Ventilazione"
{
Switch item=SonoffServizi01_VorticeVCM label="VMC 120" icon="material:air"
Switch item=SonoffServizi02_VorticeVCM label="VMC 100" icon="material:air"
Switch item=SonoffServizi01_VentilatoreSR label="Sala server --> Corridoio" icon="material:air"
}
Text label="Accensione Ventilazioni" icon="material:timeline"
{
Switch item=VMC_GrpScale label="Periodo" icon="oh:time" mappings=[0="1h",1="8h",2="24h",3="3g",4="7g",5="1M",6="1Y"]
Frame label="VMC 120" icon="oh:switch"
Switch item=VMC_GrpScale label="Periodo" icon="material:date_range" mappings=[0="1h",1="8h",2="24h",3="3g",4="7g",5="1M",6="1Y"]
Frame label="VMC 120"
{
Chart item=SonoffServizi01_VorticeVCM legend=true visibility=[VMC_GrpScale==0] period=h refresh=1000
Chart item=SonoffServizi01_VorticeVCM legend=true visibility=[VMC_GrpScale==1] period=8h refresh=4000
@@ -661,7 +694,7 @@ sitemap egalware label="EgalWare"
Chart item=SonoffServizi01_VorticeVCM legend=true visibility=[VMC_GrpScale==5] period=Y refresh=60000
Chart item=SonoffServizi01_VorticeVCM legend=true visibility=[VMC_GrpScale==6] period=M refresh=60000
}
Frame label="VMC 100" icon="oh:switch"
Frame label="VMC 100"
{
Chart item=SonoffServizi02_VorticeVCM legend=true visibility=[VMC_GrpScale==0] period=h refresh=1000
Chart item=SonoffServizi02_VorticeVCM legend=true visibility=[VMC_GrpScale==1] period=8h refresh=4000
@@ -671,7 +704,7 @@ sitemap egalware label="EgalWare"
Chart item=SonoffServizi02_VorticeVCM legend=true visibility=[VMC_GrpScale==5] period=Y refresh=60000
Chart item=SonoffServizi02_VorticeVCM legend=true visibility=[VMC_GrpScale==6] period=M refresh=60000
}
Frame label="Sala server --> Corridoio" icon="oh:switch"
Frame label="Sala server --> Corridoio"
{
Chart item=SonoffServizi01_VentilatoreSR legend=true visibility=[VMC_GrpScale==0] period=h refresh=1000
Chart item=SonoffServizi01_VentilatoreSR legend=true visibility=[VMC_GrpScale==1] period=8h refresh=4000
@@ -689,93 +722,13 @@ sitemap egalware label="EgalWare"
// Switch item=SonoffLucernari_Open label="Apertura Lucernari" icon="rollershutter"
// Switch item=SonoffLucernari_Close label="Chiusura Lucernari" icon="rollershutter"
// }
Frame label="Sala Server" icon="oh:wallswitch"
Frame label="Sala Server"
{
Switch item=SonoffServizi01_SwichLuceServer label="Luce Sala Server"
Switch item=SonoffServizi01_SwichLuceServer label="Luce Sala Server" icon="material:lightbulb"
}
}
}
Frame label="Meteo"
{
// Text label="Andamento Netatmo" icon="oh:line"
// {
// Frame label="Temperature Rilevate"
// {
// Switch item=GT_NetatmoInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="24h", 2="2g", 3="7g", 4="1M"]
// Chart item=GT_Netatmo_temp legend=true visibility=[GT_NetatmoInt==0,GT_NetatmoInt=="Uninitialized"] period=12h refresh=30000
// Chart item=GT_Netatmo_temp legend=true visibility=[GT_NetatmoInt==1] period=D refresh=30000
// Chart item=GT_Netatmo_temp legend=true visibility=[GT_NetatmoInt==2] period=2D refresh=30000
// Chart item=GT_Netatmo_temp legend=true visibility=[GT_NetatmoInt==3] period=W refresh=600000
// Chart item=GT_Netatmo_temp legend=true visibility=[GT_NetatmoInt==4] period=M refresh=6000000
// }
// Frame label="CO2 Rilevata"
// {
// // Switch item=GT_NetatmoInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="24h", 2="2g", 3="7g", 4="1M"]
// Chart item=GT_Netatmo_Co2 legend=true visibility=[GT_NetatmoInt==0,GT_NetatmoInt=="Uninitialized"] period=12h refresh=30000
// Chart item=GT_Netatmo_Co2 legend=true visibility=[GT_NetatmoInt==1] period=D refresh=30000
// Chart item=GT_Netatmo_Co2 legend=true visibility=[GT_NetatmoInt==2] period=2D refresh=30000
// Chart item=GT_Netatmo_Co2 legend=true visibility=[GT_NetatmoInt==3] period=W refresh=600000
// Chart item=GT_Netatmo_Co2 legend=true visibility=[GT_NetatmoInt==4] period=M refresh=6000000
// }
// Frame label="Umidità Rilevata"
// {
// // Switch item=GT_NetatmoInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="24h", 2="2g", 3="7g", 4="1M"]
// Chart item=GT_Netatmo_Hum legend=true visibility=[GT_NetatmoInt==0,GT_NetatmoInt=="Uninitialized"] period=12h refresh=30000
// Chart item=GT_Netatmo_Hum legend=true visibility=[GT_NetatmoInt==1] period=D refresh=30000
// Chart item=GT_Netatmo_Hum legend=true visibility=[GT_NetatmoInt==2] period=2D refresh=30000
// Chart item=GT_Netatmo_Hum legend=true visibility=[GT_NetatmoInt==3] period=W refresh=600000
// Chart item=GT_Netatmo_Hum legend=true visibility=[GT_NetatmoInt==4] period=M refresh=6000000
// }
// Frame label="Rumore Rilevato"
// {
// // Switch item=GT_NetatmoInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="24h", 2="2g", 3="7g", 4="1M"]
// Chart item=GT_Netatmo_Noise legend=true visibility=[GT_NetatmoInt==0,GT_NetatmoInt=="Uninitialized"] period=12h refresh=30000
// Chart item=GT_Netatmo_Noise legend=true visibility=[GT_NetatmoInt==1] period=D refresh=30000
// Chart item=GT_Netatmo_Noise legend=true visibility=[GT_NetatmoInt==2] period=2D refresh=30000
// Chart item=GT_Netatmo_Noise legend=true visibility=[GT_NetatmoInt==3] period=W refresh=600000
// Chart item=GT_Netatmo_Noise legend=true visibility=[GT_NetatmoInt==4] period=M refresh=6000000
// }
// Frame label="Pressione Rilevata"
// {
// // Switch item=GT_NetatmoInt label="Periodo" icon="oh:line" mappings=[0="12h", 1="24h", 2="2g", 3="7g", 4="1M"]
// Chart item=GT_Netatmo_Press legend=true visibility=[GT_NetatmoInt==0,GT_NetatmoInt=="Uninitialized"] period=12h refresh=30000
// Chart item=GT_Netatmo_Press legend=true visibility=[GT_NetatmoInt==1] period=D refresh=30000
// Chart item=GT_Netatmo_Press legend=true visibility=[GT_NetatmoInt==2] period=2D refresh=30000
// Chart item=GT_Netatmo_Press legend=true visibility=[GT_NetatmoInt==3] period=W refresh=600000
// Chart item=GT_Netatmo_Press legend=true visibility=[GT_NetatmoInt==4] period=M refresh=6000000
// }
// }
// Group item=GT_Netatmo label="Rilievi Netatmo"
// Text item=Stagione icon="oh:time"
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_condition label="Meteo"
{
Frame label="Situazione Attuale"
{
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_condition
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_temperature
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_humidity
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_pressure
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_wind_direction
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_wind_speed
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_rain
Text item=openweathermap_weather_and_forecast_5af87f095d_local_current_snow
}
Frame label="Previsioni 3h"
{
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_condition
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_temperature
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_humidity
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_pressure
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_wind_direction
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_wind_speed
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_rain
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_forecastHours03_snow
}
}
}
Frame label="Network"
Frame label="Network"
{
// Group item=gNet_Mobile label="Presenze [(%d)]" icon="network"
// {
@@ -792,7 +745,7 @@ sitemap egalware label="EgalWare"
// Chart item=gNet_Mobile_Sam visibility=[gNet_mobileChartSel==3] legend=true period=2M refresh=600000
// }
// }
Text label="Rete e Servers"
Text label="Rete e Servers" icon="material:lan"
{
Frame label="Apparati"
{
+5
View File
@@ -0,0 +1,5 @@
Your semantic tag definitions go here.
All semantic tag files have to have the ".yaml" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/semantictags.html
+1
View File
@@ -1,3 +1,4 @@
CLOSED=zu
OPEN=offen
NULL=undefiniert
UNDEF=unbekannt
+2 -2
View File
@@ -1,4 +1,4 @@
CLOSED=closed
OPEN=open
NULL=unknown
NULL=undefined
UNDEF=unknown