Update Conf nuovo openhab egalware

This commit is contained in:
Samuele Locatelli
2021-07-12 15:52:12 +02:00
parent 5b4bee99a9
commit 70f877be83
27 changed files with 2067 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
<html>
<h1>openHAB user provided static content</h1>
<p>Serve your own static html pages or resources from here. Files stored in the openHAB configuration subfolder <tt>html</tt> will be available through the HTTP server of openHAB, e.g. <a href="http://device-address:8080/static/image.png">http://device-address:8080/static/image.png</a>.</p>
<p>Resources for sitemap elements (image, video,...) can also be provided though this folder.</p>
</html>
+3
View File
@@ -0,0 +1,3 @@
Serve your own static html pages or resources from here.
Files stored in this folder will be available through the HTTP server of openHAB, e.g. "http://device-address:8080/static/image.png".
Resources for sitemap elements (image, video,...) can also be provided though this folder.
+6
View File
@@ -0,0 +1,6 @@
Your additional icons go here.
Icons can be provided as png (32x32) or preferably as svg files.
ClassicUI and BasicUI can be configured to accept svg (default) or png icons.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/items.html#icons
+279
View File
@@ -0,0 +1,279 @@
/*---------------------- Elementi Astronomici ----------------------*/
String Stagione { channel="astro:sun:local:season#name" }
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Clima, Daikin via MODBUS ----------------------*/
Number GU120_CL "Clima Ufficio 120"
Group:Switch:OR(ON, OFF) CL_Switch "Clima Attivi [(%d)]" <switch>
Group:Number CL_Mode "Modalità Clima [%d]" <heating>
Group:Number:AVG CL_Temp "Temp. Rilevata [%.1f °C]" <temperature>
Group:Number:AVG CL_Set "Temp. Impostata [%.1f °C]" <heating>
Group:Number:AVG CL_Fan "Fan Speed" <fan>
Number CL_GrpScale "Scala Temporale"
Switch Heating_GU120_CL_C1_Switch "Ingresso" <heating> (CL_Switch) {channel="modbus:data:6cb6a78ae4:002f17d3e2:switch"}
Number Heating_GU120_CL_C1_Temp "Temp Ingresso [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:7f20af572c:a9e7069c7c:number"}
Number Heating_GU120_CL_C1_Set "Set Ingresso [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:6cb6a78ae4:d016b44d6d:number"}
Number Heating_GU120_CL_C1_Fan "Fan Ingresso" <fan> (CL_Fan) {channel="modbus:data:6cb6a78ae4:bd22b3944d:number"}
Number Heating_GU120_CL_C1_Mode "Modo Ingresso [%s]" <heating> (CL_Mode) {channel="modbus:data:6cb6a78ae4:e6e67dfb58:number"}
Switch Heating_GU120_CL_C2_Switch "Corridoio" <heating> (CL_Switch) {channel="modbus:data:25ff4e4854:abc8fe8acf:switch"}
Number Heating_GU120_CL_C2_Temp "Temp Corridoio [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:25ff4e4854:9c21d13904:number"}
Number Heating_GU120_CL_C2_Set "Set Corridoio [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:25ff4e4854:4125b665e1:number"}
Number Heating_GU120_CL_C2_Fan "Fan Corridoio" <fan> (CL_Fan) {channel="modbus:data:25ff4e4854:6f00c2d7c2:number"}
Number Heating_GU120_CL_C2_Mode "Modo Corridoio [%s]" <heating> (CL_Mode) {channel="modbus:data:25ff4e4854:b382599920:number"}
Switch Heating_GU120_CL_C3_Switch "Finestra" <heating> (CL_Switch) {channel="modbus:data:1d94db5831:a206ccc2d1:switch"}
Number Heating_GU120_CL_C3_Temp "Temp Finestra [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:2a1822eb32:db7ce645ec:number"}
Number Heating_GU120_CL_C3_Set "Set Finestra [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:1d94db5831:1877b2eeac:number"}
Number Heating_GU120_CL_C3_Fan "Fan Finestra" <fan> (CL_Fan) {channel="modbus:data:1d94db5831:965107cb2d:number"}
Number Heating_GU120_CL_C3_Mode "Modo Finestra [%s]" <heating> (CL_Mode) {channel="modbus:data:1d94db5831:b9fdad4dbd:number"}
Switch Heating_GU120_CL_C4_Switch "Uff Samuele" <heating> (CL_Switch) {channel="modbus:data:9c572c8b0d:aaad41b599:switch"}
Number Heating_GU120_CL_C4_Temp "Temp Uff 04 Sam [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:102f2a9339:a684203978:number"}
Number Heating_GU120_CL_C4_Set "Set Uff 04 [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:9c572c8b0d:4de0ad7a18:number"}
Number Heating_GU120_CL_C4_Fan "Fan Uff 04" <fan> (CL_Fan) {channel="modbus:data:9c572c8b0d:4aea01c2ba:number"}
Number Heating_GU120_CL_C4_Mode "Modo Uff 04 [%s]" <heating> (CL_Mode) {channel="modbus:data:9c572c8b0d:076c837dc5:number"}
Switch Heating_GU120_CL_C5_Switch "Uff Emmanuele" <heating> (CL_Switch) {channel="modbus:data:b84a9d28c9:2c0b2764b3:switch"}
Number Heating_GU120_CL_C5_Temp "Temp Uff 05 Manu [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:54111f6432:92f68904d5:number"}
Number Heating_GU120_CL_C5_Set "Set Uff 05 [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:f6b8c93dfe:5e0ba61106:number"}
Number Heating_GU120_CL_C5_Fan "Fan Uff 05" <fan> (CL_Fan) {channel="modbus:data:f6b8c93dfe:0bbc6da4ba:number"}
Number Heating_GU120_CL_C5_Mode "Modo Uff 05 [%s]" <heating> (CL_Mode) {channel="modbus:data:f6b8c93dfe:8cf048aed5:number"}
Switch Heating_GU100_CL_C6_Switch "Desk" <heating> (CL_Switch) {channel="modbus:data:32c34522e3:592d883bcc:switch"}
Number Heating_GU100_CL_C6_Temp "Temp Desk [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:6dfb31b2d0:a9eda37f18:number"}
Number Heating_GU100_CL_C6_Set "Set Desk [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:32c34522e3:73c82709f7:number"}
Number Heating_GU100_CL_C6_Fan "Fan Desk" <fan> (CL_Fan) {channel="modbus:data:32c34522e3:1d32219a9b:number"}
Number Heating_GU100_CL_C6_Mode "Modo Desk [%s]" <heating> (CL_Mode) {channel="modbus:data:32c34522e3:5550465d50:number"}
Switch Heating_GU100_CL_C7_Switch "OpenSpace" <heating> (CL_Switch) {channel="modbus:data:7b0ff8678f:852651bdfb:switch"}
Number Heating_GU100_CL_C7_Temp "Temp OpenSpace [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:15a14761b1:043e67945d:number"}
Number Heating_GU100_CL_C7_Set "Set OpenSpace [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:7b0ff8678f:a7c13dd57d:number"}
Number Heating_GU100_CL_C7_Fan "Fan OpenSpace" <fan> (CL_Fan) {channel="modbus:data:7b0ff8678f:c2ab3ee0e9:number"}
Number Heating_GU100_CL_C7_Mode "Modo OpenSpace [%s]" <heating> (CL_Mode) {channel="modbus:data:7b0ff8678f:4386a86c96:number"}
Switch Heating_GU100_CL_C8_Switch "Uff Dario" <heating> (CL_Switch) {channel="modbus:data:dfd1d14bf1:d3ddf221cd:switch"}
Number Heating_GU100_CL_C8_Temp "Temp Uff 08 Dario [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:4da0c6beba:766d9bf2b9:number"}
Number Heating_GU100_CL_C8_Set "Set Uff 08 [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:dfd1d14bf1:ef7f18589e:number"}
Number Heating_GU100_CL_C8_Fan "Fan Uff 08" <fan> (CL_Fan) {channel="modbus:data:dfd1d14bf1:93736ca830:number"}
Number Heating_GU100_CL_C8_Mode "Modo Uff 08 [%s]" <heating> (CL_Mode) {channel="modbus:data:dfd1d14bf1:ab16eaba84:number"}
Switch Heating_GU100_CL_C9_Switch "Sala Riunioni" <heating> (CL_Switch) {channel="modbus:data:629bd10994:b0f7f4184d:switch"}
Number Heating_GU100_CL_C9_Temp "Temp Riunioni [%.1f °C]" <temperature> (CL_Temp) {channel="modbus:data:2b1793ab97:b861d34fff:number"}
Number Heating_GU100_CL_C9_Set "Set Riunioni [%.1f °C]" <heating> (CL_Set) {channel="modbus:data:629bd10994:d304255f1e:number"}
Number Heating_GU100_CL_C9_Fan "Fan Riunioni" <fan> (CL_Fan) {channel="modbus:data:629bd10994:8be791e11a:number"}
Number Heating_GU100_CL_C9_Mode "Modo Riunioni [%s]" <heating> (CL_Mode) {channel="modbus:data:629bd10994:7f619bd5fa:number"}
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Netatmo ----------------------*/
Group GT_Netatmo "Temp Media [%.1f °C]" <temperature>
Group GT_Netatmo_temp "Temp Media [%.1f °C]" <temperature>
Group GT_Netatmo_Co2 "CO2 Media" <smoke>
Group GT_Netatmo_Noise "Rumore Medio" <soundvolume>
Group GT_Netatmo_Press "Pressione Media" <pressure>
Group GT_Netatmo_Hum "Umidità Media" <humidity>
Number GT_NetatmoInt
Number GN_NET_ExtUff_Temp "Temp Esterno Ufficio [%.1f °C]" <temperature> (GT_Netatmo,GT_Netatmo_temp) {channel="netatmo:NAModule1:1b6a7dea71:f01905e637:Temperature"}
Number GN_NET_Server_Temp "Temp Sala Server [%.1f °C]" <temperature> (GT_Netatmo,GT_Netatmo_temp) {channel="netatmo:NAModule4:1b6a7dea71:193e57e984:Temperature"}
Number GN_NET_U120_Temp "Temp Ufficio 120 [%.1f °C]" <temperature> (GT_Netatmo,GT_Netatmo_temp) {channel="netatmo:NAMain:1b6a7dea71:13aa60fd74:Temperature"}
Number GN_NET_U100_Temp "Temp Ufficio 100 [%.1f °C]" <temperature> (GT_Netatmo,GT_Netatmo_temp) {channel="netatmo:NAModule4:eb8cc662:030000079324:Temperature"}
Number GN_NET_SS_Co2 "Sala Server CO2" <smoke> (GT_Netatmo,GT_Netatmo_Co2) {channel="netatmo:NAModule4:1b6a7dea71:193e57e984:Co2"}
Number GN_NET_U120_Co2 "Ufficio 120 CO2" <smoke> (GT_Netatmo,GT_Netatmo_Co2) {channel="netatmo:NAMain:1b6a7dea71:13aa60fd74:Co2"}
Number GN_NET_U100_Co2 "Ufficio 100 CO2" <smoke> (GT_Netatmo,GT_Netatmo_Co2) {channel="netatmo:NAModule4:eb8cc662:030000079324:Co2"}
Number GN_NET_SS_Hum "Sala Server Umidità" <humidity> (GT_Netatmo,GT_Netatmo_Hum) {channel="netatmo:NAModule4:1b6a7dea71:193e57e984:Humidity"}
Number GN_NET_U120_Hum "Ufficio 120 Umidità" <humidity> (GT_Netatmo,GT_Netatmo_Hum) {channel="netatmo:NAMain:1b6a7dea71:13aa60fd74:Humidity"}
Number GN_NET_U100_Hum "Ufficio 100 Umidità" <humidity> (GT_Netatmo,GT_Netatmo_Hum) {channel="netatmo:NAModule4:eb8cc662:030000079324:Humidity"}
Number GN_NET_SS_Noise "Sala Server Rumore" <soundvolume> (GT_Netatmo,GT_Netatmo_Noise) {channel="netatmo:NAModule4:1b6a7dea71:193e57e984:Noise"}
Number GN_NET_U120_Noise "Ufficio 120 Rumore" <soundvolume> (GT_Netatmo,GT_Netatmo_Noise) {channel="netatmo:NAMain:1b6a7dea71:13aa60fd74:Noise"}
Number GN_NET_U100_Noise "Ufficio 100 Rumore" <soundvolume> (GT_Netatmo,GT_Netatmo_Noise) {channel="netatmo:NAModule4:eb8cc662:030000079324:Noise"}
Number GN_NET_SS_Press "Sala Server Pressione" <pressure> (GT_Netatmo,GT_Netatmo_Press) {channel="netatmo:NAModule4:1b6a7dea71:193e57e984:Pressure"}
Number GN_NET_U120_Press "Ufficio 120 Pressione" <pressure> (GT_Netatmo,GT_Netatmo_Press) {channel="netatmo:NAMain:1b6a7dea71:13aa60fd74:Pressure"}
Number GN_NET_U100_Press "Ufficio 100 Pressione" <pressure> (GT_Netatmo,GT_Netatmo_Press) {channel="netatmo:NAModule4:eb8cc662:030000079324:Pressure"}
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Impianto Fotovoltaico Fronius ----------------------*/
// variabili originali
Number Fn_FullLoadNeg "Carico totale istantanteo (-)" (gEN) {channel="fronius:powerinverter:636f11ae1d:169618635d:powerflowchannelpload"}
Number Fn_PrelRete "(B) ↓ Da Rete [%.0f W]" (gEN) {channel="fronius:powerinverter:636f11ae1d:169618635d:powerflowchannelpgrid"}
Number Fn_FromFV "(C) ↑ Da Fotovoltaico [%.0f W]" (gEN) {channel="fronius:powerinverter:636f11ae1d:169618635d:inverterdatachannelpac"}
Number Fn_ProdFVDay "↑ Produzione gg [%.2f kWh]" (gEN) {channel="fronius:powerinverter:636f11ae1d:169618635d:inverterdatachanneldayenergy"}
Number Fn_ProdFVYearProd "Prod. Anno" (gEN) {channel="fronius:powerinverter:636f11ae1d:169618635d:inverterdatachannelyear"}
Number Fn_ProdFVTotProd "Prod. Totale" (gEN) {channel="fronius:powerinverter:636f11ae1d:169618635d:inverterdatachanneltotal"}
// variabili calcolate/derivate
Number Fn_FullLoadPos "(A) ↓ Impiego (B+C) [%.0f W]" (gEN)
Number Fn_PrelReteDay "↓ Consumo gg [%.2f kWh]" (gEN)
// variabili accessorie
Number Fn_PrelReteNet "Prelievo grid istantaneo NETTO (>0)" (gEN)
// indici per selezione
Number FronPacInt
Number FronDayEnInt
Number FronYearEnInt
Number FronTotEnInt
Number FronGP
Number FronLP
// Group gEN "Energia" <solarpanel> ["Energia"]
// Number gEN_RTime "Istantanea [%.0f W]" (gEN) {channel="fronius:powerinverter:6c4376a1:inverterdatachannelpac"}
// Number gEN_Day "Giornaliera" (gEN) {channel="fronius:powerinverter:6c4376a1:inverterdatachanneldayenergy"}
// Group gEN_Realtime "Realtime" <solarpanel> (gEN) ["Realtime"]
// Group gEN_Day "Giorno" <line> (gEN) ["Giorno"]
// Group gEN_Month "Mese" <line> (gEN) ["Mese"]
// Group gEN_Year "Anno" <line> (gEN) ["Anno"]
/*----------------------------------------------------------------------------*/
/*---------------------- Elementi Networking ----------------------*/
// Group gNet
// Group gNet_print "Printers" <network> (gNet) ["Printers"]
Number gNet_mobileChartSel
Group:Switch:OR(ON, OFF) gNet_mobile "Presenze [(%d)]" <network>
Number gNet_Mobile_Sam "Mobile Sam" <network> (gNet_mobile) ["Mobile"] {channel="network:pingdevice:9f536b87:online"}
Switch GW {channel="network:pingdevice:gw:online"}
Number:Time GWResponseTime {channel="network:pingdevice:gw:latency"}
Switch SW10G {channel="network:pingdevice:sw10g:online"}
Number:Time SW10GResponseTime {channel="network:pingdevice:sw10g:latency"}
Switch Modem {channel="network:pingdevice:modem:online"}
Number:Time ModemResponseTime {channel="network:pingdevice:modem:latency"}
Switch GDns {channel="network:pingdevice:gdns:online"}
Number:Time GDnsResponseTime {channel="network:pingdevice:gdns:latency"}
Switch HV04 {channel="network:pingdevice:hv04:online"}
Number:Time HV04ResponseTime {channel="network:pingdevice:hv04:latency"}
Switch HV03 {channel="network:pingdevice:hv03:online"}
Number:Time HV03ResponseTime {channel="network:pingdevice:hv03:latency"}
String Speedtest_Running "Test running ... [%s]" {channel="network:speedtest:local:isRunning"}
Number:Dimensionless Speedtest_Progress "Test progress [%d %unit%]" {channel="network:speedtest:local:progress"}
Number:DataTransferRate Speedtest_ResultDown "Downlink [%.2f %unit%]" {channel="network:speedtest:local:rateDown"}
Number:DataTransferRate Speedtest_ResultUp "Uplink [%.2f %unit%]" {channel="network:speedtest:local:rateUp"}
DateTime Speedtest_Start "Test Start [%1$tH:%1$tM]" <time> {channel="network:speedtest:local:testStart"}
DateTime Speedtest_LUD "Timestamp [%1$tH:%1$tM]" <time> {channel="network:speedtest:local:testEnd"}
/*----------------------------------------------------------------------------*/
// Group GF_Living "Living Room" <video> (GU100_CL_) ["LivingRoom"]
// Group GF_Kitchen "Kitchen" <kitchen> (GU100_CL_) ["Kitchen"]
// Group GF_Toilet "Toilet" <bath> (GU100_CL_) ["Bathroom"] { synonyms="Toilets,WC,Restroom" }
// Group GF_Corridor "Corridor" <corridor> (GU100_CL_) ["Corridor"]
// Group FF_Bath "Bathroom" <bath> (GU120_CL) ["Bathroom"]
// Group FF_Office "Office" <office> (GU120_CL) ["Room"] { synonyms="Study" }
// Group FF_Son "Oliver's Room" <boy_1> (GU120_CL) ["Bedroom"] { synonyms="Oli's Room" }
// Group FF_Daughter "Amelia's Room" <girl_1> (GU120_CL) ["Bedroom"] { synonyms="Amy's Room" }
// Group FF_Bed "Bedroom" <bedroom> (GU120_CL) ["Bedroom"] { synonyms="Master Bedroom" }
// Group FF_Corridor "Corridor" <corridor> (GU120_CL) ["Corridor"]
/* Lights */
// Dimmer Light_GF_Living_Table "Table" (GF_Living, Lights) ["Light", "Lighting"]
// Switch Light_GF_Corridor_Ceiling "Ceiling" (GF_Corridor, Lights) ["Light"]
// Switch Light_GF_Kitchen_Ceiling "Ceiling" (GF_Kitchen, Lights) ["Light"]
// Switch Light_GF_Kitchen_Table "Table" (GF_Kitchen, Lights) ["Light"]
// Switch Light_GF_Corridor_Wardrobe "Wardrobe" (GF_Corridor, Lights) ["Light"]
// Switch Light_GF_Toilet_Ceiling "Ceiling" (GF_Toilet, Lights) ["Light"]
// Switch Light_GF_Toilet_Mirror "Mirror" (GF_Toilet, Lights) ["Light"]
// Switch Light_FF_Bath_Ceiling "Ceiling" (FF_Bath, Lights) ["Light"]
// Switch Light_FF_Bath_Mirror "Mirror" (FF_Bath, Lights) ["Light"]
// Switch Light_FF_Corridor_Ceiling "Corridor" (FF_Corridor, Lights) ["Light"]
// Switch Light_FF_Office_Ceiling "Ceiling" (FF_Office, Lights) ["Light"]
// Switch Light_FF_Son_Ceiling "Ceiling" (FF_Son, Lights) ["Light"]
// Switch Light_FF_Daughter_Ceiling "Ceiling" (FF_Daughter, Lights) ["Light"]
// Switch Light_FF_Bed_Ceiling "Ceiling" (FF_Bed, Lights) ["Light"]
// Switch Light_C_Corridor_Ceiling "Ceiling" (gC, Lights) ["Light"]
// Switch Light_C_Staircase "Staircase" (gC, Lights) ["Light"]
// Switch Light_C_Washing_Ceiling "Washing" (gC, Lights) ["Light"]
// Switch Light_C_Workshop "Workshop" (gC, Lights) ["Light", "Lighting"]
// Switch Light_Garden_Garage "Garage" (Garden, Lights) ["Light", "Lighting"]
// Switch Light_Garden_Terrace "Terrace" (Garden, Lights) ["Light"]
// /* Heating */
// Switch Heating_GF_Corridor "Corridor" <heating> (GF_Corridor, Heating) ["HVAC"]
// Switch Heating_GF_Toilet "Toilet" <heating> (GF_Toilet, Heating) ["HVAC"]
// Switch Heating_GF_Living "Livingroom" <heating> (GF_Living, Heating) ["HVAC"]
// Switch Heating_GF_Kitchen "Kitchen" <heating> (GF_Kitchen, Heating) ["HVAC"]
// Switch Heating_FF_Bath "Bath" <heating> (FF_Bath, Heating) ["HVAC"]
// Switch Heating_FF_Office "Office" <heating> (FF_Office, Heating) ["HVAC"]
// Switch Heating_FF_Son "Oliver's Room" <heating> (FF_Son, Heating) ["HVAC"]
// Switch Heating_FF_Daughter "Amelia's Room" <heating> (FF_Daughter, Heating) ["HVAC"]
// Switch Heating_FF_Bed "Bedroom" <heating> (FF_Bed, Heating) ["HVAC"]
// /* Rollershutters */
// Rollershutter Shutter_GF_Toilet "Toilet" (GF_Toilet, Shutters) ["Blinds"]
// Rollershutter Shutter_GF_Kitchen "Kitchen" (GF_Kitchen, Shutters) ["Blinds"]
// Rollershutter Shutter_GF_Living "Livingroom" (GF_Living, Shutters) ["Blinds"]
// Rollershutter Shutter_FF_Bed "Bedroom" (FF_Bed, Shutters) ["Blinds"]
// Rollershutter Shutter_FF_Bath "Bath" (FF_Bath, Shutters) ["Blinds"]
// Rollershutter Shutter_FF_Office_Window "Office Window" (FF_Office, Shutters) ["Blinds"]
// Rollershutter Shutter_FF_Office_Door "Office Door" (FF_Office, Shutters) ["Blinds"]
// Switch Shutter_all
// /* Indoor Temperatures */
// Number Temperature_GF_Corridor "Corridor [%.1f °C]" <temperature> (Temperature, GF_Corridor) ["Temperature", "Measurement"]
// Number Temperature_GF_Toilet "Toilet [%.1f °C]" <temperature> (Temperature, GF_Toilet) ["Temperature", "Measurement"]
// Number Temperature_GF_Living "Living Room [%.1f °C]" <temperature> (Temperature, GF_Living) ["Temperature", "Measurement"]
// Number Temperature_GF_Kitchen "Kitchen [%.1f °C]" <temperature> (Temperature, GF_Kitchen, Thermostat) ["Temperature", "Measurement", "CurrentTemperature"]
// Number Temperature_FF_Bath "Bath [%.1f °C]" <temperature> (Temperature, FF_Bath) ["Temperature", "Measurement"]
// Number Temperature_FF_Office "Office [%.1f °C]" <temperature> (Temperature, FF_Office) ["Temperature", "Measurement"]
// Number Temperature_FF_Son "Oliver's Room [%.1f °C]" <temperature> (Temperature, FF_Son) ["Temperature", "Measurement"]
// Number Temperature_FF_Daughter "Amelia's Room [%.1f °C]" <temperature> (Temperature, FF_Daughter) ["Temperature", "Measurement"]
// Number Temperature_FF_Bed "Bedroom [%.1f °C]" <temperature> (Temperature, FF_Bed) ["Temperature", "Measurement"]
// /* Windows */
// Contact Window_GF_Frontdoor "Frontdoor [MAP(en.map):%s]" <frontdoor> (GF_Corridor, Windows) ["FrontDoor"]
// Contact Window_GF_Kitchen "Kitchen [MAP(en.map):%s]" (GF_Kitchen, Windows) ["Window"]
// Contact Window_GF_Living "Terrace door [MAP(en.map):%s]" <door> (GF_Living, Windows) ["Door"]
// Contact Window_GF_Toilet "Toilet [MAP(en.map):%s]" (GF_Toilet, Windows) ["Window"]
// Contact Window_FF_Bath "Bath [MAP(en.map):%s]" (FF_Bath, Windows) ["Window"]
// Contact Window_FF_Bed "Bedroom [MAP(en.map):%s]" (FF_Bed, Windows) ["Window"]
// Contact Window_FF_Office_Window "Office Window [MAP(en.map):%s]" (FF_Office, Windows) ["Window"]
// Contact Window_FF_Office_Door "Balcony Door [MAP(en.map):%s]" <door> (FF_Office, Windows) ["Door"]
// Contact Garage_Door "Garage Door [MAP(en.map):%s]" <garagedoor> (Garden, Windows) ["GarageDoor"]
// Group Weather_Chart
// Number Weather_Temperature "Outside Temperature [%.1f °C]" <temperature> (Weather, Weather_Chart) { channel="yahooweather:weather:berlin:temperature" }
// Number Weather_Temp_Max "Todays Maximum [%.1f °C]" <temperature> (Weather, Weather_Chart)
// Number Weather_Temp_Min "Todays Minimum [%.1f °C]" <temperature> (Weather, Weather_Chart)
// Number Weather_Chart_Period "Chart Period"
// DateTime Weather_LastUpdate "Last Update [%1$ta %1$tR]" <clock>
// Number:Angle Sun_Elevation "Sun Elevation" <sun> { channel = "astro:sun:home:position#elevation" }
// Number:Angle Sun_Azimuth "Sun Azimuth" <sun> { channel = "astro:sun:home:position#azimuth" }
// DateTime Sunrise_Time "Sunrise [%1$tH:%1$tM]" <sunrise> { channel = "astro:sun:home:rise#start" }
// DateTime Sunset_Time "Sunset [%1$tH:%1$tM]" <sunset> { channel = "astro:sun:home:set#start" }
// Number:Angle Moon_Elevation "Moon Elevation" <moon> { channel = "astro:moon:home:position#elevation" }
// Number:Angle Moon_Azimuth "Moon Azimuth" <moon> { channel = "astro:moon:home:position#azimuth" }
// String Moon_Phase "Moon Phase" <moon> { channel = "astro:moon:home:phase#name" }
// /* Demo items */
// DateTime CurrentDate "Date [%1$tA, %1$td.%1$tm.%1$tY]" <calendar> { channel="ntp:ntp:demo:dateTime" }
// Switch DemoSwitch "Switch"
// Dimmer DimmedLight "Dimmer [%d %%]" <slider>
// Color RGBLight "RGB Light" <slider>
// Rollershutter DemoShutter "Roller Shutter"
// Dimmer DemoBlinds "Blinds [%d %%]" <rollershutter>
// Number Scene_General "Scene" <sofa>
// Number Radio_Station "Radio" <network>
// Dimmer Volume "Volume [%.1f %%]"
// Location EgalwareLocation "Sede Egalware Seriate"
// Number Wifi_Level "Wifi Level [%d/4]" <signal> (FF_Office)
// String ImageURL "Image URL [%s]"
// Group Thermostat "Thermostat" <temperature> ["Thermostat"]
// Dimmer Temperature_Setpoint "Temperature [%.1f °C]" <temperature> (Thermostat) ["TargetTemperature", "Setpoint", "Temperature"] { habot="" [ control="knob", min=15, max=35, leftIcon="mdi-thermometer", leftInverted=true ] }
// String Thermostat_Mode "Thermostat Mode [%s]" <temperature> (Thermostat) ["homekit:HeatingCoolingMode", "Control"]
// vim: syntax=Xtend
+5
View File
@@ -0,0 +1,5 @@
Your item definitions go here.
All items files have to have the ".items" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/items.html
+5
View File
@@ -0,0 +1,5 @@
Your persistence configuration goes here.
All persistence files have to have the ".persist" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/persistence.html
+26
View File
@@ -0,0 +1,26 @@
// persistence strategies have a name and a definition and are referred to in the "Items" section
Strategies {
// for rrd charts, we need a cron strategy
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
Items {
// //* strategy = everyMinute, restoreOnStartup
// *OnOff, *SetPoint, *Temperatura, *Velocit* : strategy = everyChange, restoreOnStartup
// // let's only store temperature values in rrd
// Heating*,gEN*,Temperature*, *Temperatura, Weather_Chart*, Ufficio*, *Server, Esterno* : strategy = everyMinute, restoreOnStartup
// // Fotovoltaico!
// gEN_RTime : strategy = everyMinute, restoreOnStartup
// gEN_Day : strategy = everyHour, restoreOnStartup
// gEN_YearProd : strategy = everyDay, restoreOnStartup
// persist items on every change and every minute
*: strategy = everyChange, everyMinute, restoreOnStartup
}
// vim: syntax=Xtend
+875
View File
@@ -0,0 +1,875 @@
import java.util.Random
var Timer timer = null
val Random random = new Random()
// val resList = newArrayList("640/480", "320/240", "480/360")
// val urlList = newArrayList("https://www.fillmurray.com", "https://www.fillmurray.com/g",
// "https://www.placecage.com", "https://www.placecage.com/c", "https://www.placecage.com/g")
/**********************************************************************
* Rules x calcoli valori ENERGIA
**********************************************************************/
rule "Fix Fronius FullLoad"
when
Item Fn_FullLoadNeg changed
then
if (Fn_FullLoadNeg.state instanceof Number) {
Fn_FullLoadPos.postUpdate((Fn_FullLoadNeg.state as Number) * -1)
} else {
Fn_FullLoadPos.postUpdate(Undefined) // or UNDEF on OH2
}
end
rule "Prelievo Rete Quotidiano (IN - FV)"
when
Item Fn_PrelRete changed
//Time cron "0 * * * * *"
then
// 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_PrelRete.rules", "Fn_PrelReteNet:{}", Fn_PrelReteNet.state)
// calcolo parametri delle ore cumulate giornaliere, del valore medio giornaliero
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)
// to-do: usare ALTRA media...
//var double kWh = mediaGiorn * dayTime / 1000
var double kWh = mediaGiornNet * dayTime / 1000
//logInfo("Fn_PrelRete.rules", "kWh:{}", kWh)
Fn_PrelReteDay.postUpdate(kWh)
end
/**********************************************************************
* Rules x automazione CLIMA ALWAYS
**********************************************************************/
rule "Accensione mattino 7.40 uffici Samuele / Dario"
when
Time cron "0 40 7 * * MON-SAT"
then
Heating_GU120_CL_C4_Switch.sendCommand(ON)
Heating_GU100_CL_C8_Switch.sendCommand(ON)
end
rule "Accensione mattino 7.45 ufficio Emmanuele / Sala Riunioni"
when
Time cron "0 45 7 * * MON-SAT"
then
Heating_GU120_CL_C5_Switch.sendCommand(ON)
Heating_GU100_CL_C9_Switch.sendCommand(ON)
end
rule "Accensione mattino 7.50 finestra / OpenSpace"
when
Time cron "0 50 7 * * MON-SAT"
then
Heating_GU120_CL_C3_Switch.sendCommand(ON)
Heating_GU100_CL_C7_Switch.sendCommand(ON)
end
rule "Accensione mattino 8.00 desk / ingresso / corridoio"
when
Time cron "0 0 8 * * MON-SAT"
then
Heating_GU120_CL_C1_Switch.sendCommand(ON)
Heating_GU120_CL_C2_Switch.sendCommand(ON)
Heating_GU100_CL_C6_Switch.sendCommand(ON)
end
// rule "Accensione Impianto OGNI mattino 8.15 Standard (NO ufficio e sala riunioni)"
// when
// Time cron "0 15 8 * * MON-SAT"
// then
// 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)
// Heating_GU100_CL_C6_Switch.sendCommand(ON)
// Heating_GU100_CL_C7_Switch.sendCommand(ON)
// Heating_GU100_CL_C8_Switch.sendCommand(ON)
// Heating_GU100_CL_C9_Switch.sendCommand(ON)
// end
rule "Accensione Impianto OGNI mattino 8.30"
when
Time cron "0 30 8 * * ?"
then
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)
Heating_GU100_CL_C6_Switch.sendCommand(ON)
Heating_GU100_CL_C7_Switch.sendCommand(ON)
Heating_GU100_CL_C8_Switch.sendCommand(ON)
Heating_GU100_CL_C9_Switch.sendCommand(ON)
end
// rule "Spegnimento Impianto OGNI pomeriggio 14.30 FERIE"
// when
// Time cron "0 30 14 * * ?"
// 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 "Accensione Impianto OGNI mattino 8.30 SmartWorking"
// when
// Time cron "0 30 8 * * ?"
// then
// 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)
// Heating_GU100_CL_C6_Switch.sendCommand(ON)
// Heating_GU100_CL_C7_Switch.sendCommand(ON)
// Heating_GU100_CL_C8_Switch.sendCommand(ON)
// Heating_GU100_CL_C9_Switch.sendCommand(ON)
// end
// rule "Spegnimento Clima sabato-domenica pomeriggio 17:0"
// when
// Time cron "0 0 17 ? * SAT,SUN"
// 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 16:30 SmartWorking"
// when
// Time cron "0 30 16 * * ?"
// 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 19:00"
// when
// Time cron "0 0 19 * * ?"
// 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 20:00"
when
Time cron "0 0 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 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 * * ?"
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
/**********************************************************************/
/**********************************************************************
* 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 spegnimento aria VMC
**********************************************************************/
// rule "Spegnimento serale VMC"
// when
// Time cron "0 30 19 * * ?"
// then
// SonoffServizi01_VorticeVCM.sendCommand(OFF)
// SonoffServizi02_VorticeVCM.sendCommand(OFF)
// end
// rule "Accensione mattutina VMC"
// when
// Time cron "0 30 8 * * ?"
// then
// SonoffServizi01_VorticeVCM.sendCommand(ON)
// SonoffServizi02_VorticeVCM.sendCommand(ON)
// end
/**********************************************************************/
/**********************************************************************
* Rules x automazione gestione aria freddo/ventilazione
**********************************************************************/
rule "Fine tuning temperatura Ingresso"
when
Item Heating_GU120_CL_C1_Temp changed or
Item Heating_GU120_CL_C1_Set changed
then
val offset = 0.2 //House_HeatingOffset.state as Number
val target = Heating_GU120_CL_C1_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU120_CL_C1_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 3)
{
Heating_GU120_CL_C1_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura Corridoio"
when
Item Heating_GU120_CL_C2_Temp changed or
Item Heating_GU120_CL_C2_Set changed
then
val offset = 0.2 //House_HeatingOffset.state as Number
val target = Heating_GU120_CL_C2_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU120_CL_C2_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU120_CL_C2_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura Finestra"
when
Item Heating_GU120_CL_C3_Temp changed or
Item Heating_GU120_CL_C3_Set changed
then
val offset = 0.2 //House_HeatingOffset.state as Number
val target = Heating_GU120_CL_C3_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU120_CL_C3_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU120_CL_C3_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura UFF SAM"
when
Item Heating_GU120_CL_C4_Temp changed or
Item Heating_GU120_CL_C4_Set changed
then
val offset = 0.2 //House_HeatingOffset.state as Number
val target = Heating_GU120_CL_C4_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU120_CL_C4_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU120_CL_C4_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura UFF Emmanuele"
when
Item Heating_GU120_CL_C5_Temp changed or
Item Heating_GU120_CL_C5_Set changed
then
val offset = 0.2
val target = Heating_GU120_CL_C5_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU120_CL_C5_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU120_CL_C5_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura Desk"
when
Item Heating_GU100_CL_C6_Temp changed or
Item Heating_GU100_CL_C6_Set changed
then
val offset = 0.2
val target = Heating_GU100_CL_C6_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU100_CL_C6_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU100_CL_C6_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura OpenSpace"
when
Item Heating_GU100_CL_C7_Temp changed or
Item Heating_GU100_CL_C7_Set changed
then
val offset = 0.2
val target = Heating_GU100_CL_C7_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU100_CL_C7_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU100_CL_C7_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura Uff Dario"
when
Item Heating_GU100_CL_C8_Temp changed or
Item Heating_GU100_CL_C8_Set changed
then
val offset = 0.2
val target = Heating_GU100_CL_C8_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU100_CL_C8_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU100_CL_C8_Mode.sendCommand(2)
}
}
end
rule "Fine tuning temperatura Sala Riunioni"
when
Item Heating_GU100_CL_C9_Temp changed or
Item Heating_GU100_CL_C9_Set changed
then
val offset = 0.2
val target = Heating_GU100_CL_C9_Set.state as Number
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
if (ambient >= turnOnTemp) {
if(currMode != 3)
{
Heating_GU100_CL_C9_Mode.sendCommand(3)
}
} else if (ambient <= turnOffTemp) {
if(currMode != 2)
{
Heating_GU100_CL_C9_Mode.sendCommand(2)
}
}
end
// rule "Accensione mattutina VMC"
// when
// Time cron "0 30 8 * * ?"
// then
// SonoffServizi01_VorticeVCM.sendCommand(ON)
// SonoffServizi02_VorticeVCM.sendCommand(ON)
// end
/**********************************************************************/
/**********************************************************************
* Rules x automazione LUCERNARI
**********************************************************************/
rule "Lucernari switch Momentary x 10 sec"
when
Item SonoffLucernari_Open received command ON
then
SonoffLucernari_Close.sendCommand(OFF)
createTimer(now.plusSeconds(12), [|
SonoffLucernari_Open.sendCommand(OFF)
])
createTimer(now.plusSeconds(13), [|
SonoffLucernari_Open.sendCommand(OFF)
])
end
rule "Lucernari switch Momentary x 10 sec"
when
Item SonoffLucernari_Close received command ON
then
SonoffLucernari_Open.sendCommand(OFF)
createTimer(now.plusSeconds(12), [|
SonoffLucernari_Close.sendCommand(OFF)
])
createTimer(now.plusSeconds(13), [|
SonoffLucernari_Close.sendCommand(OFF)
])
end
/**********************************************************************/
/**********************************************************************
* Rules x automazione LUCI
**********************************************************************/
rule "Luce con switch Momentary"
when
Item SonoffLuci01_Switch1 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci01_Switch1.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci01_Switch1.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci01_Switch2 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci01_Switch2.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci01_Switch2.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci01_Switch3 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci01_Switch3.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci01_Switch3.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci02_Switch1 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci02_Switch1.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci02_Switch1.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci02_Switch2 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci02_Switch2.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci02_Switch2.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci02_Switch3 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci02_Switch3.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci02_Switch3.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci02_Switch4 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci02_Switch4.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci02_Switch4.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci03_Switch1 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci03_Switch1.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci03_Switch1.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci03_Switch2 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci03_Switch2.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci03_Switch2.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci03_Switch3 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci03_Switch3.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci03_Switch3.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffLuci03_Switch4 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffLuci03_Switch4.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffLuci03_Switch4.sendCommand(OFF)
])
end
rule "Luce con switch Momentary"
when
Item SonoffServizi02_Switch5 received command ON
then
createTimer(now.plusSeconds(1), [|
SonoffServizi02_Switch5.sendCommand(OFF)
])
createTimer(now.plusSeconds(2), [|
SonoffServizi02_Switch5.sendCommand(OFF)
])
end
/**********************************************************************/
// rule "Test cron Riscaldamento ufficio"
// when
// Time cron "0 * 15 * JAN,FEB,NOV,DEC THU"
// then
// Heating_GU120_CL_C4_Switch.sendCommand(ON)
// 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
+5
View File
@@ -0,0 +1,5 @@
Your rules go here.
All rule files have to have the ".rules" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/rules-dsl.html
+5
View File
@@ -0,0 +1,5 @@
Your scripts go here.
All script files have to have the ".script" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/rules-dsl.html#scripts
+3
View File
@@ -0,0 +1,3 @@
say("Demo script has been called!")
// vim: syntax=Xtend
+38
View File
@@ -0,0 +1,38 @@
# The installation package of this openHAB instance
# Note: This is only regarded at the VERY FIRST START of openHAB
# Note: If you want to specify your add-ons yourself through entries below, set the package to "minimal"
# as otherwise your definition might be in conflict with what the installation package defines.
#
# Valid options:
# - standard : Standard setup for normal use of openHAB
# - minimal : Installation of core components, but no UIs or other add-ons. Use this for special headless setups.
#
# See https://www.openhab.org/docs/configuration/packages.html for a detailed explanation of these packages.
#
package = standard
# Access Remote Add-on Repository
# Defines whether the remote openHAB add-on repository should be used for browsing and installing add-ons. (default is true)
#
#remote = true
# A comma-separated list of automation services to install (e.g. "automation = groovyscripting")
#automation =
# A comma-separated list of bindings to install (e.g. "binding = knx,sonos,zwave")
#binding =
# A comma-separated list of miscellaneous services to install (e.g. "misc = openhabcloud")
#misc =
# A comma-separated list of persistence services to install (e.g. "persistence = jpa,rrd4j")
#persistence =
# A comma-separated list of transformation services to install (e.g. "transformation = jsonpath,map")
#transformation =
# A comma-separated list of UIs to install (e.g. "ui = basic,habpanel")
#ui =
# A comma-separated list of voice services to install (e.g. "voice = googletts,marytts")
#voice =
+6
View File
@@ -0,0 +1,6 @@
Your service configurations will reside here.
All configuration files have to have the ".cfg" file extension.
Service configuration files are automatically created as soon as you install an add-on that can be configured.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/services.html
+35
View File
@@ -0,0 +1,35 @@
# configure specific rrd properties for given items in this file.
# please refer to the documentation available at
# https://www.openhab.org/addons/persistence/rrd4j/
#
# default_numeric and default_other are internally defined defnames and are used as
# defaults when no other defname applies
#<defname>.def=[ABSOLUTE|COUNTER|DERIVE|GAUGE],<heartbeat>,[<min>|U],[<max>|U],<step>
#<defname>.archives=[AVERAGE|MIN|MAX|LAST|FIRST|TOTAL],<xff>,<steps>,<rows>
#<defname>.items=<comma separated list of items for this defname>
# ctr24h.def=COUNTER,900,0,U,60
# ctr24h.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,10,144
# ctr24h.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime
# ctr7d.def=COUNTER,900,0,U,60
# ctr7d.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,10,144:AVERAGE,0.5,60,672
# ctr7d.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime,gEN_Day
# ctr1m.def=COUNTER,900,0,U,60
# ctr1m.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,10,144:AVERAGE,0.5,60,672
# ctr1m.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime,gEN_Day
# ctr1y.def=COUNTER,900,0,U,60
# ctr1y.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,10,144:AVERAGE,0.5,60,672
# ctr1y.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime,gEN_Day
defaultNumeric.def=GAUGE,60,U,U,60
defaultNumeric.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,4,360:AVERAGE,0.5,14,644:AVERAGE,0.5,60,720:AVERAGE,0.5,720,730:AVERAGE,0.5,10080,520
defaultNumeric.items=netatmo*,modbus*,fronius*,Heating*,gEN*,GU*,network*,GT*,GN_NET*,Speedtest*,*
# defaultNumeric.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime
# val24h.def=GAUGE,900,0,U,60
# val24h.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,10,144
# val24h.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime
# val7d.def=GAUGE,900,0,U,60
# val7d.archives=AVERAGE,0.5,1,480:AVERAGE,0.5,10,144:AVERAGE,0.5,60,672
# val7d.items=*Temperatura,Ufficio*,*Esterno,gEN_RTime,gEN_Day
File diff suppressed because one or more lines are too long
+5
View File
@@ -0,0 +1,5 @@
######################## VoiceRSS Text-to-Speech Engine ########################
# API key you got when you subscribed to the Voice RSS service
# Open your profile to get the value: http://www.voicerss.org/personel/
#apiKey=1234567890
+630
View File
@@ -0,0 +1,630 @@
sitemap egalware label="EgalWare"
{
Frame label="Energia"
{
Text item=Fn_FullLoadPos label="Energia [%.0f W]" icon="poweroutlet_eu"
{
Frame label="Potenza Istantanea"
{
Text item=Fn_FullLoadPos icon="poweroutlet_eu"
{
Frame label="(A) ↓ Impiego (B+C = Full Load) [%.0f W]"
{
Switch item=FronLP label="Periodo" icon="line" mappings=[0="1h", 1="12h", 2="24h", 3="2g", 4="3g", 5="7g"]
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=12h refresh=1000
Chart item=Fn_FullLoadPos visibility=[FronLP==2] legend=true period=24h refresh=5000
Chart item=Fn_FullLoadPos visibility=[FronLP==3] legend=true period=2D refresh=10000
Chart item=Fn_FullLoadPos visibility=[FronLP==4] legend=true period=3D refresh=60000
Chart item=Fn_FullLoadPos visibility=[FronLP==5] legend=true period=W refresh=60000
}
}
Text item=Fn_PrelRete icon="energy"
{
Frame label="(B) ↓ Da Rete [%.0f W]"
{
Switch item=FronGP label="Periodo" icon="line" mappings=[0="1h", 1="12h", 2="24h", 3="2g", 4="3g", 5="7g"]
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=12h refresh=1000
Chart item=Fn_PrelRete visibility=[FronGP==2] legend=true period=24h refresh=5000
Chart item=Fn_PrelRete visibility=[FronGP==3] legend=true period=2D refresh=10000
Chart item=Fn_PrelRete visibility=[FronGP==4] legend=true period=3D refresh=60000
Chart item=Fn_PrelRete visibility=[FronGP==5] legend=true period=W refresh=60000
}
}
Text item=Fn_FromFV icon="solarplant"
{
Frame label="(C) ↑ Da Fotovoltaico"
{
Switch item=FronPacInt label="Periodo" icon="line" mappings=[0="1h", 1="12h", 2="24h", 3="2g", 4="3g", 5="7g"]
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=12h refresh=1000
Chart item=Fn_FromFV visibility=[FronPacInt==2] legend=true period=24h refresh=5000
Chart item=Fn_FromFV visibility=[FronPacInt==3] legend=true period=2D refresh=10000
Chart item=Fn_FromFV visibility=[FronPacInt==4] legend=true period=3D refresh=60000
Chart item=Fn_FromFV visibility=[FronPacInt==5] legend=true period=W refresh=60000
}
}
}
Frame label="Valori Giornalieri"
{
Text item=Fn_PrelReteDay icon="energy"
{
Frame label="↓ Consumo gg [%.2f kWh]"
{
Switch item=FronDayEnInt label="Periodo" icon="line" 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=1000
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==2] legend=true period=W refresh=1000
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==3] legend=true period=M refresh=5000
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==4] legend=true period=2M refresh=10000
Chart item=Fn_PrelReteDay visibility=[FronDayEnInt==5] legend=true period=Y refresh=60000
}
}
Text item=Fn_ProdFVDay icon="solarplant"
{
Frame label="↑ Produzione gg [%.2f kWh]"
{
Switch item=FronDayEnInt label="Periodo" icon="line" 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=1000
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==2] legend=true period=W refresh=1000
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==3] legend=true period=M refresh=5000
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==4] legend=true period=2M refresh=10000
Chart item=Fn_ProdFVDay visibility=[FronDayEnInt==5] legend=true period=Y refresh=60000
}
}
}
Frame label="Grafici"
{
Text item=Fn_ProdFVYearProd label="Produzione Annuale" icon="line"
{
Frame label="Produzione Annuale"
{
Switch item=FronYearEnInt label="Periodo" icon="line" 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="line"
{
Frame label="Produzione Annuale"
{
Switch item=FronTotEnInt label="Periodo" icon="line" 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
Chart item=Fn_ProdFVTotProd visibility=[FronTotEnInt==3] legend=true period=Y refresh=60000
}
}
}
// Group item=gEN label="Fronius 6KW" icon="solarplant"
}
}
Frame label="Ufficio"
{
Group item=CL_Switch label="Climatizzazione" icon="heating"
{
Group item=CL_Switch label="Unità Attive"
{
Switch item=CL_Switch label="Generale"
Switch item=Heating_GU120_CL_C1_Switch
Switch item=Heating_GU120_CL_C2_Switch
Switch item=Heating_GU120_CL_C3_Switch
Switch item=Heating_GU120_CL_C4_Switch
Switch item=Heating_GU120_CL_C5_Switch
Switch item=Heating_GU100_CL_C6_Switch
Switch item=Heating_GU100_CL_C7_Switch
Switch item=Heating_GU100_CL_C8_Switch
Switch item=Heating_GU100_CL_C9_Switch
}
Text label="Andamento Grafico" icon="line"
{
Switch item=CL_GrpScale label="Periodo" icon="time" mappings=[0="h",1="4h",2="12h",3="24h",4="7g",5="1M",6="1Y"]
Frame label="Temperature Rilevate"
{
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==0] period=h refresh=2000
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=W refresh=60000
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==5] period=M refresh=60000
Chart item=CL_Temp legend=true visibility=[CL_GrpScale==6] period=Y refresh=60000
}
Frame label="Unità Attive" icon="switch"
{
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
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==5] period=Y refresh=60000
Chart item=CL_Switch legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
}
Frame label="Modo Clima" icon="switch"
{
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
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==5] period=Y refresh=60000
Chart item=CL_Mode legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
}
// Frame label="Temp Impostata" icon="switch"
// {
// 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=W refresh=60000
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==5] period=Y refresh=60000
// Chart item=CL_Set legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
// }
Frame label="Velocita" icon="switch"
{
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
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==2] period=12h refresh=6000
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==3,CL_GrpScale=="Uninitialized"] period=D refresh=10000
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==4] period=W refresh=60000
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==5] period=Y refresh=60000
Chart item=CL_Fan legend=true visibility=[CL_GrpScale==6] period=M refresh=60000
}
}
Group item=CL_Temp label="Temperatura (Media)"
Group item=CL_Set label="Set Temperature"
{
Setpoint item=Heating_GU120_CL_C1_Set minValue=18 maxValue=28 step=1 label="Set Ingresso"
Setpoint item=Heating_GU120_CL_C2_Set minValue=18 maxValue=28 step=1 label="Set Corridoio"
Setpoint item=Heating_GU120_CL_C3_Set minValue=18 maxValue=28 step=1 label="Set Finestra"
Setpoint item=Heating_GU120_CL_C4_Set minValue=18 maxValue=28 step=1 label="Set Uff Samuele"
Setpoint item=Heating_GU120_CL_C5_Set minValue=18 maxValue=28 step=1 label="Set Uff EmmanueleUff"
Setpoint item=Heating_GU100_CL_C6_Set minValue=18 maxValue=28 step=1 label="Set Desk"
Setpoint item=Heating_GU100_CL_C7_Set minValue=18 maxValue=28 step=1 label="Set OpenSpace"
Setpoint item=Heating_GU100_CL_C8_Set minValue=18 maxValue=28 step=1 label="Set Uff Dario"
Setpoint item=Heating_GU100_CL_C9_Set minValue=18 maxValue=28 step=1 label="Set Sala Riunioni"
}
Group item=CL_Mode
{
Setpoint item=Heating_GU120_CL_C1_Mode minValue=2 maxValue=4 step=1 label="Modo Ingresso"
Setpoint item=Heating_GU120_CL_C2_Mode minValue=2 maxValue=4 step=1 label="Modo Corridoio"
Setpoint item=Heating_GU120_CL_C3_Mode minValue=2 maxValue=4 step=1 label="Modo Finestra"
Setpoint item=Heating_GU120_CL_C4_Mode minValue=2 maxValue=4 step=1 label="Modo Uff Sam"
Setpoint item=Heating_GU120_CL_C5_Mode minValue=2 maxValue=4 step=1 label="Modo Uff Emm"
Setpoint item=Heating_GU100_CL_C6_Mode minValue=2 maxValue=4 step=1 label="Modo Desk"
Setpoint item=Heating_GU100_CL_C7_Mode minValue=2 maxValue=4 step=1 label="Modo OpenSpace"
Setpoint item=Heating_GU100_CL_C8_Mode minValue=2 maxValue=4 step=1 label="Modo Uff Dario"
Setpoint item=Heating_GU100_CL_C9_Mode minValue=2 maxValue=4 step=1 label="Modo Sala Riunioni"
}
Group item=CL_Fan label="Set Velocità"
{
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"
Setpoint item=Heating_GU120_CL_C3_Fan minValue=1 maxValue=3 step=1 label="Fan Finestra"
Setpoint item=Heating_GU120_CL_C4_Fan minValue=1 maxValue=3 step=1 label="Fan Uff Samuele"
Setpoint item=Heating_GU120_CL_C5_Fan minValue=1 maxValue=3 step=1 label="Fan Uff Emmanuele"
Setpoint item=Heating_GU100_CL_C6_Fan minValue=1 maxValue=3 step=1 label="Fan Desk"
Setpoint item=Heating_GU100_CL_C7_Fan minValue=1 maxValue=3 step=1 label="Fan OpenSpace"
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="Controllo Singolo" icon="heating"
// {
Text item=Heating_GU120_CL_C1_Switch label="U120 Clima Ingresso"
{
Switch item=Heating_GU120_CL_C1_Switch
Text item=Heating_GU120_CL_C1_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU120_CL_C1_Set minValue=18 maxValue=26 step=1 label="Imp. Ingresso"
Setpoint item=Heating_GU120_CL_C1_Mode minValue=2 maxValue=4 step=1 label="Modo [%s]"
}
Text item=Heating_GU120_CL_C2_Switch label="U120 Clima Corridoio"
{
Switch item=Heating_GU120_CL_C2_Switch
Text item=Heating_GU120_CL_C2_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU120_CL_C2_Set minValue=18 maxValue=26 step=1 label="Imp. Corridoio"
Setpoint item=Heating_GU120_CL_C2_Mode minValue=2 maxValue=4 step=1 label="Modo [%s]"
}
Text item=Heating_GU120_CL_C3_Switch label="U120 Clima Finestra"
{
Switch item=Heating_GU120_CL_C3_Switch
Text item=Heating_GU120_CL_C3_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU120_CL_C3_Set minValue=18 maxValue=26 step=1 label="Imp. Finestra"
Setpoint item=Heating_GU120_CL_C3_Mode minValue=2 maxValue=4 step=1 label="Modo [%s]"
}
Text item=Heating_GU120_CL_C4_Switch label="U120 Clima Uff Samuele"
{
Switch item=Heating_GU120_CL_C4_Switch
Text item=Heating_GU120_CL_C4_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU120_CL_C4_Set minValue=18 maxValue=26 step=1 label="Imp. Ufficio Samuele"
Setpoint item=Heating_GU120_CL_C4_Mode minValue=2 maxValue=4 step=1 label="Modo [%s]"
}
Text item=Heating_GU120_CL_C5_Switch label="U120 Clima Uff Emmanuele"
{
Switch item=Heating_GU120_CL_C5_Switch
Text item=Heating_GU120_CL_C5_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU120_CL_C5_Set minValue=18 maxValue=26 step=1 label="Imp. Uff Emmanuele"
Setpoint item=Heating_GU120_CL_C5_Mode minValue=2 maxValue=4 step=1 label="Modo [%s]"
}
Text item=Heating_GU100_CL_C6_Switch label="U100 Desk Ingresso"
{
Switch item=Heating_GU100_CL_C6_Switch
Text item=Heating_GU100_CL_C6_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU100_CL_C6_Set minValue=18 maxValue=26 step=1 label="Impostazione CL6"
}
Text item=Heating_GU100_CL_C7_Switch label="U100 OpenSpace"
{
Switch item=Heating_GU100_CL_C7_Switch
Text item=Heating_GU100_CL_C7_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU100_CL_C7_Set minValue=18 maxValue=26 step=1 label="Impostazione CL6"
}
Text item=Heating_GU100_CL_C8_Switch label="U100 Uff Dario"
{
Switch item=Heating_GU100_CL_C8_Switch
Text item=Heating_GU100_CL_C8_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU100_CL_C8_Set minValue=18 maxValue=26 step=1 label="Impostazione CL6"
}
Text item=Heating_GU100_CL_C9_Switch label="U100 Sala Riunioni"
{
Switch item=Heating_GU100_CL_C9_Switch
Text item=Heating_GU100_CL_C9_Temp
{
Switch item=CL_GrpScale label="Periodo" icon="line" mappings=[0="1h",1="4h",2="12h", 3="24h", 4="7g", 5="1M", 6="1Y"]
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
}
Setpoint item=Heating_GU100_CL_C9_Set minValue=18 maxValue=26 step=1 label="Impostazione CL6"
}
}
}
Text label="Luci Openspace" icon="wallswitch"
// Group item=Luci label="Luci Openspace" icon="wallswitch"
{
Frame label="U120" icon="wallswitch"
{
Switch item=SonoffLuci01_Switch1 label="Ingresso" icon="wallswitch"
Switch item=SonoffLuci01_Switch2 label="Muro" icon="wallswitch"
Switch item=SonoffLuci01_Switch3 label="Corridoio" icon="wallswitch"
}
Frame label="U100" icon="wallswitch"
{
Switch item=SonoffLuci03_Switch1 label="Ingresso" icon="wallswitch"
Switch item=SonoffLuci03_Switch2 label="Fila A" icon="wallswitch"
Switch item=SonoffLuci03_Switch3 label="Fila B" icon="wallswitch"
}
}
Text label="Luci Uffici" icon="wallswitch"
// Group item=Luci label="Luci Uffici" icon="wallswitch"
{
Frame label="U100" icon="wallswitch"
{
Switch item=SonoffServizi02_Switch5 label="Uff Dario" icon="wallswitch"
Switch item=SonoffLuci03_Switch4 label="Sala Riunioni" icon="wallswitch"
}
Frame label="U120" icon="wallswitch"
{
Switch item=SonoffLuci02_Switch1 label="Uff Emmanuele Muro" icon="wallswitch"
Switch item=SonoffLuci02_Switch2 label="Uff Emmanuele Porta" icon="wallswitch"
Switch item=SonoffLuci02_Switch3 label="Uff Samuele Porta" icon="wallswitch"
Switch item=SonoffLuci02_Switch4 label="Uff Samuele Finestra" icon="wallswitch"
}
}
Text label="Servizi" icon="group"
// Group item=Servizi label="Servizi" icon="group"
{
Frame label="Ventilazione" icon="group"
{
Switch item=SonoffServizi01_VorticeVCM label="VMC 120"
Switch item=SonoffServizi02_VorticeVCM label="VMC 100"
Switch item=SonoffServizi01_VentilatoreSR label="Ventilatore server --> Ufficio"
}
// Frame label="Lucernari" icon="rollershutter"
// {
// Switch item=SonoffLucernari_Open label="Apertura Lucernari" icon="rollershutter"
// Switch item=SonoffLucernari_Close label="Chiusura Lucernari" icon="rollershutter"
// }
Frame label="Sala Server" icon="wallswitch"
{
Switch item=SonoffServizi01_SwichLuceServer label="Luce Sala Server"
}
}
}
Frame label="Meteo"
{
Text label="Andamento Netatmo" icon="line"
{
Frame label="Temperature Rilevate"
{
Switch item=GT_NetatmoInt label="Periodo" icon="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="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="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="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="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="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"
{
// Group item=gNet_Mobile label="Presenze [(%d)]" icon="network"
// {
// Switch item=gNet_Mobile_Sam
// }
// Text item=gNet_Mobile label="Presenze" icon="door"
// {
// Frame label="Presenze Ufficio"
// {
// Switch item=gNet_mobileChartSel label="Periodo" icon="door" mappings=[0="24h", 1="7g", 2="1M", 3="2M"]
// Chart item=gNet_Mobile_Sam visibility=[gNet_mobileChartSel==0, gNet_mobileChartSel=="Uninitialized"] legend=true period=D refresh=1000
// Chart item=gNet_Mobile_Sam visibility=[gNet_mobileChartSel==1] legend=true period=W refresh=10000
// Chart item=gNet_Mobile_Sam visibility=[gNet_mobileChartSel==2] legend=true period=M refresh=10000
// Chart item=gNet_Mobile_Sam visibility=[gNet_mobileChartSel==3] legend=true period=2M refresh=600000
// }
// }
Text label="Rete e Servers"
{
Frame label="Apparati"
{
Text item=SW10G label="SW10G [%s]"
Text item=SW10GResponseTime label="SW10G ping Response Time [%s]"
Text item=GW label="GW [%s]"
Text item=GWResponseTime label="GW ping Response Time [%s]"
Text item=Modem label="Modem [%s]"
Text item=ModemResponseTime label="Modem ping Response Time [%s]"
Text item=GDns label="GDns [%s]"
Text item=GDnsResponseTime label="GDns ping Response Time [%s]"
}
Frame label="Servers"
{
Text item=HV03 label="HV03 [%s]"
Text item=HV03ResponseTime label="HV03 ping Response Time [%s]"
Text item=HV04 label="HV04 [%s]"
Text item=HV04ResponseTime label="HV04 ping Response Time [%s]"
}
}
// Frame label="SpeedTest" {
// Text item=Speedtest_Start
// Switch item=Speedtest_Running
// Default item=Speedtest_Progress
// Text item=Speedtest_Running label="Speedtest [%s]" visibility=[Speedtest_Running != "-"]
// }
// Frame label="Down" {
// Text item=Speedtest_ResultDown
// Chart item=Speedtest_ResultDown period=D refresh=30000 service="influxdb" visibility=[sys_chart_period==0, sys_chart_period=="Non initialisé"]
// Chart item=Speedtest_ResultDown period=W refresh=30000 service="influxdb" visibility=[sys_chart_period==1]
// Chart item=Speedtest_ResultDown period=M refresh=30000 service="influxdb" visibility=[sys_chart_period==2]
// Chart item=Speedtest_ResultDown period=Y refresh=30000 service="influxdb" visibility=[sys_chart_period==3]
// }
// Frame label="Up" {
// Text item=Speedtest_ResultUp
// Chart item=Speedtest_ResultUp period=D refresh=30000 service="influxdb" visibility=[sys_chart_period==0, sys_chart_period=="Non initialisé"]
// Chart item=Speedtest_ResultUp period=W refresh=30000 service="influxdb" visibility=[sys_chart_period==1]
// Chart item=Speedtest_ResultUp period=M refresh=30000 service="influxdb" visibility=[sys_chart_period==2]
// Chart item=Speedtest_ResultUp period=Y refresh=30000 service="influxdb" visibility=[sys_chart_period==3]
// }
}
// Frame label="Weather" {
// Text item=Weather_Temperature valuecolor=[Weather_LastUpdate=="NULL"="lightgray",Weather_LastUpdate>90="lightgray",>25="orange",>15="green",>5="orange",<=5="blue"] {
// Frame {
// Text item=Weather_Temp_Max valuecolor=[>25="orange",>15="green",>5="orange",<=5="blue"]
// Text item=Weather_Temp_Min valuecolor=[>25="orange",>15="green",>5="orange",<=5="blue"]
// Text item=Weather_LastUpdate visibility=[Weather_LastUpdate>30] valuecolor=[Weather_LastUpdate>120="orange", Weather_LastUpdate>300="red"]
// }
// Frame {
// Switch item=Weather_Chart_Period label="Chart Period" icon="chart" mappings=[0="Hour", 1="24h", 2="7gg"]
// Chart item=Weather_Chart legend=true period=h refresh=600000 visibility=[Weather_Chart_Period==0, Weather_Chart_Period=="NULL"]
// Chart item=Weather_Chart legend=true period=D refresh=3600000 visibility=[Weather_Chart_Period==1]
// Chart item=Weather_Chart legend=true period=W refresh=3600000 visibility=[Weather_Chart_Period==2]
// }
// }
// Text label="Astronomical Data" icon="sun" {
// Text item=Sun_Elevation
// Text item=Sun_Azimuth
// Text item=Sunrise_Time
// Text item=Sunset_Time
// Text item=Moon_Elevation
// Text item=Moon_Azimuth
// Text item=Moon_Phase
// }
// }
// Frame label="Demo" {
// Text item=CurrentDate
// Text label="Group Demo" icon="firstfloor" {
// Switch item=Lights mappings=[OFF="All Off"]
// Group item=Heating
// Group item=Windows
// Text item=Temperature
// }
// Text label="Widget Overview" icon="chart" {
// Frame label="Binary Widgets" {
// Switch item=DemoSwitch label="Toggle Switch"
// Switch item=DemoSwitch label="Button Switch" mappings=[ON="On"]
// }
// Frame label="Discrete Widgets" {
// Selection item=Scene_General label="Scene Selection" mappings=[0=off, 1=TV, 2=Dinner, 3=Reading]
// Switch item=Scene_General label="Scene" mappings=[1=TV, 2=Dinner, 3=Reading]
// Setpoint item=Temperature_Setpoint minValue=16 maxValue=28 step=0.5
// }
// Frame label="Percent-based Widgets" {
// Slider item=DimmedLight switchSupport
// Colorpicker item=RGBLight icon="slider"
// Switch item=DemoShutter
// Slider item=DemoBlinds
// }
// Frame label="Map/Location" {
// Mapview item=EgalwareLocation icon=movecontrol height=10
// }
// }
// Text label="Multimedia" icon="video" {
// Frame label="Radio Control" {
// Selection item=Radio_Station label="Radio" mappings=[0=off, 1=HR3, 2=SWR3]
// Slider item=Volume icon="soundvolume"
// }
// Frame label="Multimedia Widgets" {
// Image url="https://raw.github.com/wiki/openhab/openhab/images/features.png" label="openHAB" {
// Text label="https://www.openHAB.org" icon="icon"
// }
// Video url="https://www.openhab.org/assets/smarthome.mp4"
// Webview url="https://en.m.wikipedia.org/w/index.php?title=Main_Page" height=8
// Image url="http://fpoimg.com/320x240?text=openHAB" item=ImageURL
// }
// }
// }
}
// vim: syntax=Xtend
+5
View File
@@ -0,0 +1,5 @@
Your sitemap definitions go here.
All sitemap files have to have the ".sitemap" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/sitemaps.html
Binary file not shown.
Binary file not shown.
+16
View File
@@ -0,0 +1,16 @@
// yahooweather:weather:Pedrengo [ location=6534499 ]
// astro:sun:home [ geolocation="45.69,9.74", interval=60 ]
// astro:moon:home [ geolocation="45.69,9.74", interval=60 ]
// ntp:ntp:demo [ hostname="it.pool.ntp.org", refreshInterval=60, refreshNtp=30 ]
Thing network:pingdevice:sw10g [ hostname="10.74.82.10" ]
Thing network:pingdevice:gw [ hostname="10.74.82.253" ]
Thing network:pingdevice:modem [ hostname="192.168.0.254" ]
Thing network:pingdevice:gdns [ hostname="8.8.8.8" ]
Thing network:pingdevice:hv03 [ hostname="10.74.82.243" ]
Thing network:pingdevice:hv04 [ hostname="10.74.82.244" ]
Thing network:speedtest:local "SpeedTest 50Mo" @ "Internet" [url="https://bouygues.testdebit.info/", fileName="50M.iso"]
// vim: syntax=Xtend
+5
View File
@@ -0,0 +1,5 @@
Your thing definitions go here.
All thing files have to have the ".things" file extension and must follow a special syntax.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/things.html
+3
View File
@@ -0,0 +1,3 @@
CLOSED=zu
OPEN=offen
NULL=undefiniert
+8
View File
@@ -0,0 +1,8 @@
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data passed by openHAB
(function(inputData) {
// on read: the polled number as string
// on write: openHAB command as string
var DIVIDE_BY = 100;
return parseFloat(inputData) / DIVIDE_BY;
})(input)
+4
View File
@@ -0,0 +1,4 @@
CLOSED=closed
OPEN=open
NULL=unknown
+7
View File
@@ -0,0 +1,7 @@
CLOSED=chiuso
OPEN=aperto
NULL=nullo
AUTUMN=AUTUNNO
WINTER=INVERNO
SPRING=PRIMAVERA
SUMMER=ESTATE
+5
View File
@@ -0,0 +1,5 @@
Transformations like map or jsonpath can utilize configuration files with data definitions.
These files have their specific file extensions and syntax definition.
Check out the openHAB documentation for more details:
https://www.openhab.org/docs/configuration/transformations.html