update conf corrente con sonoff tasmota (1..3)
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
'use strict';
|
||||
// 'use strict';
|
||||
|
||||
scriptExtension.importPreset("RuleSupport");
|
||||
scriptExtension.importPreset("RuleSimple");
|
||||
// scriptExtension.importPreset("RuleSupport");
|
||||
// scriptExtension.importPreset("RuleSimple");
|
||||
|
||||
var sRule = new SimpleRule() {
|
||||
execute: function( module, input) {
|
||||
print("This is a 'hello world!' from a Javascript rule.");
|
||||
}
|
||||
};
|
||||
// var sRule = new SimpleRule() {
|
||||
// execute: function( module, input) {
|
||||
// print("This is a 'hello world!' from a Javascript rule.");
|
||||
// }
|
||||
// };
|
||||
|
||||
sRule.setTriggers([
|
||||
TriggerBuilder.create()
|
||||
.withId("aTimerTrigger")
|
||||
.withTypeUID("timer.GenericCronTrigger")
|
||||
.withConfiguration(
|
||||
new Configuration({
|
||||
"cronExpression": "0 * * * * ?"
|
||||
})).build()
|
||||
]);
|
||||
// sRule.setTriggers([
|
||||
// TriggerBuilder.create()
|
||||
// .withId("aTimerTrigger")
|
||||
// .withTypeUID("timer.GenericCronTrigger")
|
||||
// .withConfiguration(
|
||||
// new Configuration({
|
||||
// "cronExpression": "0 * * * * ?"
|
||||
// })).build()
|
||||
// ]);
|
||||
|
||||
automationManager.addRule(sRule);
|
||||
// automationManager.addRule(sRule);
|
||||
@@ -0,0 +1,133 @@
|
||||
Group gFF "First Floor" <firstfloor> ["FirstFloor"]
|
||||
Group gGF "Ground Floor" <groundfloor> ["GroundFloor"]
|
||||
Group gC "Cellar" <cellar> ["Basement"]
|
||||
Group Garden "Garden" <garden> ["Garden"]
|
||||
Group Weather "Weather" <sun>
|
||||
|
||||
Group Status
|
||||
Group Shutters
|
||||
|
||||
Group GF_Living "Living Room" <video> (gGF) ["LivingRoom"]
|
||||
Group GF_Kitchen "Kitchen" <kitchen> (gGF) ["Kitchen"]
|
||||
Group GF_Toilet "Toilet" <bath> (gGF) ["Bathroom"] { synonyms="Toilets,WC,Restroom" }
|
||||
Group GF_Corridor "Corridor" <corridor> (gGF) ["Corridor"]
|
||||
|
||||
Group FF_Bath "Bathroom" <bath> (gFF) ["Bathroom"]
|
||||
Group FF_Office "Office" <office> (gFF) ["Room"] { synonyms="Study" }
|
||||
Group FF_Son "Oliver's Room" <boy_1> (gFF) ["Bedroom"] { synonyms="Oli's Room" }
|
||||
Group FF_Daughter "Amelia's Room" <girl_1> (gFF) ["Bedroom"] { synonyms="Amy's Room" }
|
||||
Group FF_Bed "Bedroom" <bedroom> (gFF) ["Bedroom"] { synonyms="Master Bedroom" }
|
||||
Group FF_Corridor "Corridor" <corridor> (gFF) ["Corridor"]
|
||||
|
||||
/* active groups */
|
||||
Group:Switch:OR(ON, OFF) Lights "All Lights [(%d)]"
|
||||
Group:Switch:OR(ON, OFF) Heating "No. of Active Heatings [(%d)]" <heating>
|
||||
Group:Number:AVG Temperature "Avg. Room Temperature [%.1f °C]" <temperature> (Status)
|
||||
Group:Contact:OR(OPEN, CLOSED) Windows "Open windows [(%d)]" <contact>
|
||||
|
||||
/* 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)
|
||||
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 DemoLocation "Brandenburg Gate Berlin"
|
||||
Number Wifi_Level "Wifi Level [%d/4]" <signal> (FF_Office)
|
||||
String ImageURL "Image URL [%s]"
|
||||
|
||||
Group Thermostat "Thermostat" <temperature> ["Thermostat"]
|
||||
Number Temperature_Setpoint "Temperature [%.1f °C]" <temperature> (Thermostat) ["homekit:TargetTemperature", "Setpoint", "Temperature"] { habot="" [ control="knob", min=15, max=35, leftIcon="mdi-thermometer", leftInverted=true ] }
|
||||
String Thermostat_Mode "Thermostat Mode [%s]" <temperature> (Thermostat) ["homekit:TargetHeatingCoolingMode", "Control"]
|
||||
|
||||
// vim: syntax=Xtend
|
||||
@@ -50,6 +50,13 @@ Number GU120_CL_Stop "Ora spegnimento" <t
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
/*---------------------- Elementi Sonoff ----------------------*/
|
||||
// Group:Switch:OR(ON, OFF) Luci100_Switch "Luci attive 100 [(%d)]" <wallswitch>
|
||||
// Group:Switch:OR(ON, OFF) Luci120_Switch "Luci attive 120 [(%d)]" <wallswitch>
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
/*---------------------- Elementi Netatmo ----------------------*/
|
||||
Group GT_Netatmo "Temp Media [%.1f °C]" <temperature>
|
||||
Group GT_Netatmo_temp "Temp Media [%.1f °C]" <temperature>
|
||||
@@ -81,10 +88,25 @@ Number GN_NET_U100_Press "Ufficio 100 Pressione" <pressure> (GT
|
||||
|
||||
|
||||
/*---------------------- Elementi Impianto Fotovoltaico Fronius ----------------------*/
|
||||
// variabili originali
|
||||
Number Fn_FullLoadNeg "Carico totale istantanteo (-)" (gEN) { channel="fronius:powerinverter:6c4376a1:powerflowchannelpload" }
|
||||
Number Fn_PrelRete "(B) ↓ Da Rete [%.0f W]" (gEN) { channel="fronius:powerinverter:6c4376a1:powerflowchannelpgrid" }
|
||||
Number Fn_FromFV "(C) ↑ Da Fotovoltaico [%.0f W]" (gEN) { channel="fronius:powerinverter:6c4376a1:inverterdatachannelpac" }
|
||||
Number Fn_ProdFVDay "↑ Produzione gg [%.2f kWh]" (gEN) { channel="fronius:powerinverter:6c4376a1:inverterdatachanneldayenergy" }
|
||||
// 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"}
|
||||
|
||||
+144
-144
@@ -1,164 +1,164 @@
|
||||
import java.util.Random
|
||||
|
||||
var Timer timer = null
|
||||
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")
|
||||
val Random random = new Random()
|
||||
// var Timer timer = null
|
||||
// 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")
|
||||
// val Random random = new Random()
|
||||
|
||||
/**
|
||||
* 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
|
||||
// /**
|
||||
// * 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 (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
|
||||
// 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
|
||||
// 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
|
||||
// /**
|
||||
// * 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 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 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 "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 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
|
||||
// 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
|
||||
// // 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 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))
|
||||
// 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
|
||||
// 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 "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
|
||||
// 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
|
||||
|
||||
+394
-114
@@ -6,12 +6,170 @@ val Random random = new Random()
|
||||
// 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 "Spegnimento Clima sabato-domenica pomeriggio 14:00"
|
||||
// rule "Accensione Impianto OGNI mattino 7.45"
|
||||
// when
|
||||
// Time cron "0 45 7 * * ?"
|
||||
// then
|
||||
// if (GU120_CL_Temp.state < 20)
|
||||
// {
|
||||
// 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
|
||||
|
||||
rule "Accensione mattino 7.45 ufficio"
|
||||
when
|
||||
Time cron "0 0 14 * * SAT,SUN"
|
||||
Time cron "0 45 7 * * MON-SAT"
|
||||
then
|
||||
Heating_GU120_CL_C4_Switch.sendCommand(ON)
|
||||
end
|
||||
|
||||
|
||||
rule "Accensione mattino 8.00 finestra"
|
||||
when
|
||||
Time cron "0 0 8 * * MON-SAT"
|
||||
then
|
||||
Heating_GU120_CL_C3_Switch.sendCommand(ON)
|
||||
end
|
||||
|
||||
rule "Accensione mattino 8.15 ingresso"
|
||||
when
|
||||
Time cron "0 15 8 * * MON-SAT"
|
||||
then
|
||||
Heating_GU120_CL_C1_Switch.sendCommand(ON)
|
||||
end
|
||||
|
||||
rule "Accensione mattino 8.30 corridoio"
|
||||
when
|
||||
Time cron "0 30 8 * * MON-SAT"
|
||||
then
|
||||
Heating_GU120_CL_C2_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)
|
||||
// end
|
||||
|
||||
rule "Accensione Impianto OGNI mattino 10.30"
|
||||
when
|
||||
Time cron "0 30 10 * * ?"
|
||||
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)
|
||||
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)
|
||||
// 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)
|
||||
// end
|
||||
|
||||
rule "Spegnimento Clima sabato-domenica pomeriggio 17:00"
|
||||
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)
|
||||
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)
|
||||
// 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)
|
||||
@@ -30,59 +188,53 @@ then
|
||||
Heating_GU120_CL_C4_Switch.sendCommand(OFF)
|
||||
Heating_GU120_CL_C5_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)
|
||||
// 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)
|
||||
end
|
||||
/**********************************************************************/
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Rules x automazione CLIMA INVERNO
|
||||
* Rules x automazione CLIMA
|
||||
**********************************************************************/
|
||||
rule "Accensione Riscaldamento mattino 8:00 SE < 19°"
|
||||
when
|
||||
Time cron "0 0 8 * JAN,FEB,NOV,DEC ?"
|
||||
then
|
||||
if (GU120_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
|
||||
|
||||
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 (GU120_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
|
||||
|
||||
|
||||
// rule "Accendo tutti se accendo 1 con meno di 21°"
|
||||
// rule "Accensione Riscaldamento mattino ingresso SAM in inverno"
|
||||
// when
|
||||
// Item Heating_GU120_CL_C1_Switch received command ON
|
||||
// Item gNet_Mobile_Sam changed to ON
|
||||
// //and
|
||||
// //Time cron "* * * * JAN,FEB,NOV,DEC ?"
|
||||
// then
|
||||
// // if (GU120_CL_Temp.state < 21)
|
||||
// // {
|
||||
// // if (GU120_CL_Switch.state == ON)
|
||||
// // {
|
||||
// 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)
|
||||
// // }
|
||||
// // }
|
||||
// // if (GU120_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
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
|
||||
@@ -118,6 +270,134 @@ end
|
||||
// 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(11), [|
|
||||
SonoffLucernari_Open.sendCommand(OFF)
|
||||
])
|
||||
createTimer(now.plusSeconds(12), [|
|
||||
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(11), [|
|
||||
SonoffLucernari_Close.sendCommand(OFF)
|
||||
])
|
||||
createTimer(now.plusSeconds(12), [|
|
||||
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 "Test cron Riscaldamento ufficio"
|
||||
// when
|
||||
// Time cron "0 * 15 * JAN,FEB,NOV,DEC THU"
|
||||
@@ -127,49 +407,49 @@ 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
|
||||
// /**
|
||||
// * 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 (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
|
||||
// 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
|
||||
// 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.
|
||||
@@ -209,37 +489,37 @@ end
|
||||
// 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 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
|
||||
// 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
|
||||
// // 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
|
||||
|
||||
+16
-27
@@ -3,48 +3,37 @@
|
||||
# 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.
|
||||
#
|
||||
# Optional. If not set, the dashboard (https://<yourserver>:8080/) will ask you to choose a package.
|
||||
#
|
||||
# Valid options:
|
||||
# - minimal : Installation only with dashboard, but no UIs or other add-ons. Use this for custom setups.
|
||||
# - simple : Setup for using openHAB purely through UIs - you need to expect MANY constraints in functionality!
|
||||
# - standard : Default setup for normal users, best for textual setup
|
||||
# - expert : Setup for expert users, especially for people migrating from openHAB 1.x
|
||||
# - demo : A demo setup which includes UIs, a few bindings, config files etc.
|
||||
# - 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.
|
||||
# - demo : A pre-configured demo setup which can be used for demonstration.
|
||||
#
|
||||
# See https://www.openhab.org/docs/configuration/packages.html for a detailed explanation of these packages.
|
||||
#
|
||||
#package = minimal
|
||||
package = standard
|
||||
|
||||
# Access Remote Add-on Repository
|
||||
# Defines whether the remote openHAB add-on repository should be used for browsing and installing add-ons.
|
||||
# This not only makes latest snapshots of add-ons available, it is also required for the installation of
|
||||
# any legacy 1.x add-on. (default is true)
|
||||
# Defines whether the remote openHAB add-on repository should be used for browsing and installing add-ons. (default is true)
|
||||
#
|
||||
#remote = true
|
||||
|
||||
# Include legacy 1.x bindings. If set to true, it also allows the installation of 1.x bindings for which there is
|
||||
# already a 2.x version available (requires remote repo access, see above). (default is false)
|
||||
#
|
||||
#legacy = 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 = sonos,knx,zwave")
|
||||
# A comma-separated list of bindings to install (e.g. "binding = knx,sonos,zwave")
|
||||
#binding =
|
||||
|
||||
# A comma-separated list of UIs to install (e.g. "ui = basic,paper")
|
||||
#ui =
|
||||
# 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 = rrd4j,jpa")
|
||||
# A comma-separated list of persistence services to install (e.g. "persistence = jpa,rrd4j")
|
||||
#persistence =
|
||||
|
||||
# A comma-separated list of actions to install (e.g. "action = mail,pushover")
|
||||
#action =
|
||||
|
||||
# A comma-separated list of transformation services to install (e.g. "transformation = map,jsonpath")
|
||||
# A comma-separated list of transformation services to install (e.g. "transformation = jsonpath,map")
|
||||
#transformation =
|
||||
|
||||
# A comma-separated list of voice services to install (e.g. "voice = marytts,freetts")
|
||||
#voice =
|
||||
# A comma-separated list of UIs to install (e.g. "ui = basic,habpanel")
|
||||
#ui =
|
||||
|
||||
# A comma-separated list of miscellaneous services to install (e.g. "misc = myopenhab")
|
||||
#misc =
|
||||
# A comma-separated list of voice services to install (e.g. "voice = googletts,marytts")
|
||||
#voice =
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# 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.
|
||||
#
|
||||
# Optional. If not set, the dashboard (https://<yourserver>:8080/) will ask you to choose a package.
|
||||
#
|
||||
# Valid options:
|
||||
# - minimal : Installation only with dashboard, but no UIs or other add-ons. Use this for custom setups.
|
||||
# - simple : Setup for using openHAB purely through UIs - you need to expect MANY constraints in functionality!
|
||||
# - standard : Default setup for normal users, best for textual setup
|
||||
# - expert : Setup for expert users, especially for people migrating from openHAB 1.x
|
||||
# - demo : A demo setup which includes UIs, a few bindings, config files etc.
|
||||
#
|
||||
# See https://www.openhab.org/docs/configuration/packages.html for a detailed explanation of these packages.
|
||||
#
|
||||
#package = minimal
|
||||
|
||||
# Access Remote Add-on Repository
|
||||
# Defines whether the remote openHAB add-on repository should be used for browsing and installing add-ons.
|
||||
# This not only makes latest snapshots of add-ons available, it is also required for the installation of
|
||||
# any legacy 1.x add-on. (default is true)
|
||||
#
|
||||
#remote = true
|
||||
|
||||
# Include legacy 1.x bindings. If set to true, it also allows the installation of 1.x bindings for which there is
|
||||
# already a 2.x version available (requires remote repo access, see above). (default is false)
|
||||
#
|
||||
#legacy = true
|
||||
|
||||
# A comma-separated list of bindings to install (e.g. "binding = sonos,knx,zwave")
|
||||
#binding =
|
||||
|
||||
# A comma-separated list of UIs to install (e.g. "ui = basic,paper")
|
||||
#ui =
|
||||
|
||||
# A comma-separated list of persistence services to install (e.g. "persistence = rrd4j,jpa")
|
||||
#persistence =
|
||||
|
||||
# A comma-separated list of actions to install (e.g. "action = mail,pushover")
|
||||
#action =
|
||||
|
||||
# A comma-separated list of transformation services to install (e.g. "transformation = map,jsonpath")
|
||||
#transformation =
|
||||
|
||||
# A comma-separated list of voice services to install (e.g. "voice = marytts,freetts")
|
||||
#voice =
|
||||
|
||||
# A comma-separated list of miscellaneous services to install (e.g. "misc = myopenhab")
|
||||
#misc =
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,86 @@
|
||||
##################### LOCALE ####################
|
||||
|
||||
# The default language that should be used. If not specified, the system default locale is used.
|
||||
# The ISO 639 alpha-2 or alpha-3 language code (if there is no alpha-2 one).
|
||||
# Example: "en" (English), "de" (German), "ja" (Japanese), "kok" (Konkani)
|
||||
#
|
||||
#org.eclipse.smarthome.i18n:language=
|
||||
|
||||
# The region that should be used.
|
||||
# ISO 3166 alpha-2 country code or UN M.49 numeric-3 area code.
|
||||
# Example: "US" (United States), "DE" (Germany), "FR" (France), "029" (Caribbean)
|
||||
#
|
||||
#org.eclipse.smarthome.i18n:region=
|
||||
|
||||
################ PERSISTENCE ####################
|
||||
|
||||
# The persistence service to use if no other is specified.
|
||||
#
|
||||
#org.eclipse.smarthome.persistence:default=
|
||||
|
||||
################### AUDIO #######################
|
||||
|
||||
# This parameter defines the default audio source to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.eclipse.smarthome.audio:defaultSource=
|
||||
|
||||
# This parameter defines the default audio sink to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.eclipse.smarthome.audio:defaultSink=
|
||||
|
||||
##################### VOICE #####################
|
||||
|
||||
# This parameter defines the default text-to-speech service to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.eclipse.smarthome.voice:defaultTTS=
|
||||
|
||||
# This parameter defines the default speech-to-text service to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.eclipse.smarthome.voice:defaultSTT=
|
||||
|
||||
# The default voice to use if no specific TTS service or voice is specified.
|
||||
#
|
||||
#org.eclipse.smarthome.voice:defaultVoice=
|
||||
|
||||
# The default human language interpreter to use if no other is specified.
|
||||
#
|
||||
#org.eclipse.smarthome.voice:defaultHLI=
|
||||
|
||||
################### EPHEMERIS ###################
|
||||
|
||||
# This parameter defines the default list of usual non workable days for the Ephemeris service.
|
||||
# The value has to be surrounded by square brackets ('[' and ']') and optionally contain value delimiters - a comma ',' to be interpreted as a list of values.
|
||||
# Example: [SATURDAY,SUNDAY]
|
||||
#
|
||||
org.openhab.ephemeris:dayset-weekend=[SATURDAY,SUNDAY]
|
||||
|
||||
# This parameter defines the default list of usual workable days for the Ephemeris service.
|
||||
# The value has to be surrounded by square brackets ('[' and ']') and optionally contain value delimiters - a comma ',' to be interpreted as a list of values.
|
||||
#
|
||||
org.openhab.ephemeris:dayset-school=[MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY]
|
||||
|
||||
################ MISCELLANOUS ###################
|
||||
|
||||
# The karaf sshHost parameter configures the bind address for the ssh login to karaf.
|
||||
# Default is 127.0.0.1 (localhost), so it is only possible to login from the local machine.
|
||||
#
|
||||
# Setting this to the address of another network interfaces will allow login from this network.
|
||||
# Setting this to 0.0.0.0 will allow login from all network interfaces.
|
||||
#
|
||||
# !!! Security warning !!!
|
||||
# Remember to change default login/password, if you allow external login.
|
||||
# See https://www.openhab.org/docs/administration/console.html for details.
|
||||
#
|
||||
#org.apache.karaf.shell:sshHost = 0.0.0.0
|
||||
|
||||
# Setting this to true will automatically approve all inbox entries and create Things for them,
|
||||
# so that they are immediately available in the system (default is false)
|
||||
#
|
||||
#org.eclipse.smarthome.inbox:autoApprove=true
|
||||
|
||||
# This setting allows to switch between a "simple" and an "advanced" mode for item management.
|
||||
# In simple mode (autoLinks=true), links and their according items are automatically created for new Things.
|
||||
# In advanced mode (autoLinks=false), the user has the full control about which items channels are linked to.
|
||||
# Existing links will remain untouched. (default is true)
|
||||
#
|
||||
#org.eclipse.smarthome.links:autoLinks=false
|
||||
@@ -0,0 +1,78 @@
|
||||
sitemap demo label="Main Menu"
|
||||
{
|
||||
Frame {
|
||||
Group item=gFF label="First Floor" icon="firstfloor"
|
||||
Group item=gGF label="Ground Floor" icon="groundfloor"
|
||||
Group item=gC label="Cellar" icon="cellar"
|
||||
Group item=Garden icon="garden"
|
||||
}
|
||||
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="Day", 2="Week"]
|
||||
Chart item=Weather_Chart period=h refresh=600000 visibility=[Weather_Chart_Period==0, Weather_Chart_Period=="NULL"]
|
||||
Chart item=Weather_Chart period=D refresh=3600000 visibility=[Weather_Chart_Period==1]
|
||||
Chart item=Weather_Chart 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=DemoLocation 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
|
||||
+218
-125
@@ -3,60 +3,108 @@ sitemap Steamware label="Steamware"
|
||||
|
||||
Frame label="Energia"
|
||||
{
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy label="Fotovoltaico (prod) [%.2f kWh]" icon="solarplant"
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy label="Energia (EV) [%.2f kWh]" icon="solarplant"
|
||||
{
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachannelpac label="Potenza Istantanea [%.0f W]" icon="solarplant"
|
||||
Frame label="Potenza Istantanea"
|
||||
{
|
||||
Frame label="Potenza Istantanea"
|
||||
{
|
||||
Switch item=FronPacInt label="Periodo" icon="line" mappings=[0="1h", 1="12h", 2="24h", 3="2g", 4="3g", 5="7g"]
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelpac visibility=[FronPacInt==0,FronPacInt=="Uninitialized"] legend=true period=h refresh=500
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelpac visibility=[FronPacInt==1] legend=true period=12h refresh=5000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelpac visibility=[FronPacInt==2] legend=true period=24h refresh=5000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelpac visibility=[FronPacInt==3] legend=true period=2D refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelpac visibility=[FronPacInt==4] legend=true period=3D refresh=60000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelpac visibility=[FronPacInt==5] legend=true period=W refresh=600000
|
||||
}
|
||||
}
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy label="Produzione Giornaliera" icon="solarplant"
|
||||
{
|
||||
Frame label="Produzione Giornaliera"
|
||||
{
|
||||
Switch item=FronDayEnInt label="Periodo" icon="line" mappings=[0="3g", 1="7g", 2="1M", 3="2M", 3="1Y"]
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy visibility=[FronDayEnInt==0,FronDayEnInt=="Uninitialized"] legend=true period=3D refresh=1000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy visibility=[FronDayEnInt==1] legend=true period=W refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy visibility=[FronDayEnInt==2] legend=true period=M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy visibility=[FronDayEnInt==3] legend=true period=2M refresh=600000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneldayenergy visibility=[FronDayEnInt==4] legend=true period=Y refresh=600000
|
||||
}
|
||||
}
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachannelyear 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=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==0,FronYearEnInt=="Uninitialized"] legend=true period=W refresh=1000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==1] legend=true period=M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==2] legend=true period=2M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==3] legend=true period=Y refresh=600000
|
||||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal label="Produzione Totale" icon="line"
|
||||
Frame label="Valori Giornalieri"
|
||||
{
|
||||
Frame label="Produzione Annuale"
|
||||
Text item=Fn_PrelReteDay icon="energy"
|
||||
{
|
||||
Switch item=FronTotEnInt label="Periodo" icon="line" mappings=[0="7g", 1="1M", 2="2M", 3="1Y"]
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==0, FronTotEnInt=="Uninitialized"] legend=true period=W refresh=1000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==1] legend=true period=M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==2] legend=true period=2M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==3] legend=true period=Y refresh=600000
|
||||
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=fronius_powerinverter_6c4376a1_inverterdatachannelyear 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=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==0,FronYearEnInt=="Uninitialized"] legend=true period=W refresh=1000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==1] legend=true period=M refresh=5000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==2] legend=true period=2M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachannelyear visibility=[FronYearEnInt==3] legend=true period=Y refresh=60000
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal 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=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==0, FronTotEnInt=="Uninitialized"] legend=true period=W refresh=1000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==1] legend=true period=M refresh=5000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==2] legend=true period=2M refresh=10000
|
||||
Chart item=fronius_powerinverter_6c4376a1_inverterdatachanneltotal visibility=[FronTotEnInt==3] legend=true period=Y refresh=60000
|
||||
}
|
||||
}
|
||||
}
|
||||
// Group item=gEN label="Fronius 6KW" icon="solarplant"
|
||||
}
|
||||
}
|
||||
Frame label="Ufficio 120"
|
||||
Frame label="Ufficio"
|
||||
{
|
||||
Group item=GU120_CL_Switch label="Climatizzazione" icon="heating"
|
||||
{
|
||||
@@ -86,11 +134,11 @@ sitemap Steamware label="Steamware"
|
||||
// }
|
||||
Group item=GU120_CL_Set label="Set Temperature"
|
||||
{
|
||||
Setpoint item=Heating_GU120_CL_C1_Set minValue=18 maxValue=26 step=1 label="Impostazione Ingresso"
|
||||
Setpoint item=Heating_GU120_CL_C2_Set minValue=18 maxValue=26 step=1 label="Impostazione Corridoio"
|
||||
Setpoint item=Heating_GU120_CL_C3_Set minValue=18 maxValue=26 step=1 label="Impostazione Finestra"
|
||||
Setpoint item=Heating_GU120_CL_C4_Set minValue=18 maxValue=26 step=1 label="Impostazione Ufficio"
|
||||
Setpoint item=Heating_GU120_CL_C5_Set minValue=18 maxValue=26 step=1 label="Impostazione Sala"
|
||||
Setpoint item=Heating_GU120_CL_C1_Set minValue=18 maxValue=28 step=1 label="Impostazione Ingresso"
|
||||
Setpoint item=Heating_GU120_CL_C2_Set minValue=18 maxValue=28 step=1 label="Impostazione Corridoio"
|
||||
Setpoint item=Heating_GU120_CL_C3_Set minValue=18 maxValue=28 step=1 label="Impostazione Finestra"
|
||||
Setpoint item=Heating_GU120_CL_C4_Set minValue=18 maxValue=28 step=1 label="Impostazione Ufficio"
|
||||
Setpoint item=Heating_GU120_CL_C5_Set minValue=18 maxValue=28 step=1 label="Impostazione Sala"
|
||||
}
|
||||
Group item=GU120_CL_Fan label="Set Velocità"
|
||||
{
|
||||
@@ -109,11 +157,13 @@ sitemap Steamware label="Steamware"
|
||||
Switch item=Heating_GU120_CL_C1_Switch
|
||||
Text item=Heating_GU120_CL_C1_Temp
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="24h", 1="7g", 2="1M", 3="1Y"]
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=D refresh=30000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==1] period=W refresh=600000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==2] period=M refresh=6000000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==3] period=Y refresh=6000000
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="4h",1="12h",2="24h", 3="7g", 4="1M", 5="1Y"]
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==0] period=4h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==1] period=12h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==2,GU120_CL_TempInt=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==3] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==4] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C1_Temp legend=true visibility=[GU120_CL_TempInt==5] period=Y refresh=60000
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C1_Set minValue=18 maxValue=26 step=1 label="Impostazione Ingresso"
|
||||
}
|
||||
@@ -122,11 +172,13 @@ sitemap Steamware label="Steamware"
|
||||
Switch item=Heating_GU120_CL_C2_Switch
|
||||
Text item=Heating_GU120_CL_C2_Temp
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="24h", 1="7g", 2="1M", 3="1Y"]
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=D refresh=30000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==1] period=W refresh=600000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==2] period=M refresh=6000000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==3] period=Y refresh=6000000
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="4h",1="12h",2="24h", 3="7g", 4="1M", 5="1Y"]
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==0] period=4h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==1] period=12h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==2,GU120_CL_TempInt=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==3] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==4] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C2_Temp legend=true visibility=[GU120_CL_TempInt==5] period=Y refresh=60000
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C2_Set minValue=18 maxValue=26 step=1 label="Impostazione Corridoio"
|
||||
}
|
||||
@@ -135,11 +187,13 @@ sitemap Steamware label="Steamware"
|
||||
Switch item=Heating_GU120_CL_C3_Switch
|
||||
Text item=Heating_GU120_CL_C3_Temp
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="24h", 1="7g", 2="1M", 3="1Y"]
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=D refresh=30000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==1] period=W refresh=600000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==2] period=M refresh=6000000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==3] period=Y refresh=6000000
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="4h",1="12h",2="24h", 3="7g", 4="1M", 5="1Y"]
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==0] period=4h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==1] period=12h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==2,GU120_CL_TempInt=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==3] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==4] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C3_Temp legend=true visibility=[GU120_CL_TempInt==5] period=Y refresh=60000
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C3_Set minValue=18 maxValue=26 step=1 label="Impostazione Finestra"
|
||||
}
|
||||
@@ -148,11 +202,13 @@ sitemap Steamware label="Steamware"
|
||||
Switch item=Heating_GU120_CL_C4_Switch
|
||||
Text item=Heating_GU120_CL_C4_Temp
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="24h", 1="7g", 2="1M", 3="1Y"]
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=D refresh=30000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==1] period=W refresh=600000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==2] period=M refresh=6000000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==3] period=Y refresh=6000000
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="4h",1="12h",2="24h", 3="7g", 4="1M", 5="1Y"]
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==0] period=4h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==1] period=12h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==2,GU120_CL_TempInt=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==3] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==4] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C4_Temp legend=true visibility=[GU120_CL_TempInt==5] period=Y refresh=60000
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C4_Set minValue=18 maxValue=26 step=1 label="Impostazione Ufficio"
|
||||
}
|
||||
@@ -161,11 +217,13 @@ sitemap Steamware label="Steamware"
|
||||
Switch item=Heating_GU120_CL_C5_Switch
|
||||
Text item=Heating_GU120_CL_C5_Temp
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="24h", 1="7g", 2="1M", 3="1Y"]
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=D refresh=30000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==1] period=W refresh=600000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==2] period=M refresh=6000000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==3] period=Y refresh=6000000
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="4h",1="12h",2="24h", 3="7g", 4="1M", 5="1Y"]
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==0] period=4h refresh=2000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==1] period=12h refresh=5000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==2,GU120_CL_TempInt=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==3] period=W refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==4] period=M refresh=60000
|
||||
Chart item=Heating_GU120_CL_C5_Temp legend=true visibility=[GU120_CL_TempInt==5] period=Y refresh=60000
|
||||
}
|
||||
Setpoint item=Heating_GU120_CL_C5_Set minValue=18 maxValue=26 step=1 label="Impostazione Sala"
|
||||
}
|
||||
@@ -181,11 +239,13 @@ sitemap Steamware label="Steamware"
|
||||
{
|
||||
Frame label="Temperature Rilevate"
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="24h", 1="7g", 2="1M", 3="1Y"]
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=D refresh=30000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==1] period=W refresh=600000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==2] period=M refresh=6000000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==3] period=Y refresh=6000000
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="4h",1="12h",2="24h", 3="7g", 4="1M", 5="1Y"]
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==0] period=4h refresh=2000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==1] period=12h refresh=5000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==2,GU120_CL_TempInt=="Uninitialized"] period=D refresh=10000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==3] period=W refresh=60000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==4] period=M refresh=60000
|
||||
Chart item=GU120_CL_Temp legend=true visibility=[GU120_CL_TempInt==5] period=Y refresh=60000
|
||||
}
|
||||
}
|
||||
Text label="Unità Attive" icon="switch"
|
||||
@@ -193,10 +253,10 @@ sitemap Steamware label="Steamware"
|
||||
Frame label="Unità Attive" icon="switch"
|
||||
{
|
||||
Switch item=GU120_CL_TempInt label="Periodo" icon="line" mappings=[0="12h", 1="24h", 2="7g", 3="1M"]
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=12h refresh=30000
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==0,GU120_CL_TempInt=="Uninitialized"] period=12h refresh=10000
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==1] period=D refresh=30000
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==2] period=W refresh=600000
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==3] period=M refresh=6000000
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==2] period=W refresh=60000
|
||||
Chart item=GU120_CL_Switch legend=true visibility=[GU120_CL_TempInt==3] period=M refresh=60000
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,54 +272,58 @@ sitemap Steamware label="Steamware"
|
||||
// Slider item=LR_TV_Volume
|
||||
// }
|
||||
}
|
||||
Text item=Lights label="Luci" icon="lightbulb"
|
||||
Group item=Luci label="Luci 120" icon="wallswitch"
|
||||
{
|
||||
// Group item=Lights label="Luci" icon="light"
|
||||
Text label="Da integrare con sonoff/MQTT" icon="light"
|
||||
Frame label="OpenSpace" icon="wallswitch"
|
||||
{
|
||||
//Switch item=Luci120_Switch label="Generale 120"
|
||||
Switch item=SonoffLuci01_Switch1 label="Ingresso" icon="wallswitch"
|
||||
Switch item=SonoffLuci01_Switch2 label="Muro" icon="wallswitch"
|
||||
Switch item=SonoffLuci01_Switch3 label="Corridoio" icon="wallswitch"
|
||||
//Switch item=SonoffLuci01_Switch4 label=""
|
||||
}
|
||||
Frame label="Uffici" icon="wallswitch"
|
||||
{
|
||||
Switch item=SonoffLuci02_Switch1 label="Uff E Muro" icon="wallswitch"
|
||||
Switch item=SonoffLuci02_Switch2 label="Uff E Porta" icon="wallswitch"
|
||||
Switch item=SonoffLuci02_Switch3 label="Uff S Porta" icon="wallswitch"
|
||||
Switch item=SonoffLuci02_Switch4 label="Uff S Finestra" icon="wallswitch"
|
||||
}
|
||||
}
|
||||
Text item=Shutters label="Tende" icon="blinds"
|
||||
|
||||
Group item=Luci label="Luci 100" icon="wallswitch"
|
||||
{
|
||||
// Group item=Shutters label="Tende" icon="blinds"
|
||||
Text label="Da integrare con ikea / zigbee" icon="blinds"
|
||||
Frame label="OpenSpace" 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"
|
||||
Switch item=SonoffLuci03_Switch4 label="Fila C" icon="wallswitch"
|
||||
}
|
||||
Frame label="Uffici" icon="wallswitch"
|
||||
{
|
||||
Switch item=SonoffLuci04_Switch1 label="Uff C" icon="wallswitch"
|
||||
// Switch item=SonoffLuci04_Switch2 label="Uff A Porta" icon="wallswitch"
|
||||
Switch item=SonoffLuci04_Switch3 label="Sala Porta" icon="wallswitch"
|
||||
Switch item=SonoffLuci04_Switch4 label="Sala Muro" icon="wallswitch"
|
||||
}
|
||||
}
|
||||
Group item=Lucernari label="Lucernari" icon="rollershutter"
|
||||
{
|
||||
Frame label="Ufficio 120" icon="group"
|
||||
{
|
||||
Switch item=SonoffLucernari_Open label="Apertura Lucernari" icon="rollershutter"
|
||||
Switch item=SonoffLucernari_Close label="Chiusura Lucernari" icon="rollershutter"
|
||||
}
|
||||
// Frame label="Uffici0 100" icon="wallswitch"
|
||||
// {
|
||||
// Switch item=SonoffLucernari_Switch3 label="Sala Porta" icon="wallswitch"
|
||||
// Switch item=SonoffLucernari_Switch4 label="Sala Muro" icon="wallswitch"
|
||||
// }
|
||||
}
|
||||
}
|
||||
// Frame label="Ufficio 100"
|
||||
// {
|
||||
// Text label="Climatizzazione" icon="error"
|
||||
// Text label="Luci" icon="error"
|
||||
// Text label="Tende" icon="error"
|
||||
// }
|
||||
Frame label="Meteo"
|
||||
{
|
||||
Text item=Stagione icon="time"
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_condition label="Meteo"
|
||||
{
|
||||
Frame label="Situazione Attuale"
|
||||
{
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_condition
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_temperature
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_humidity
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_pressure
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_wind_direction
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_wind_speed
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_rain
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_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
|
||||
}
|
||||
// Setpoint item=GU120_CL_Start minValue=0 maxValue=23 step=1 label="Ora Avvio"
|
||||
// Setpoint item=GU120_CL_Stop minValue=0 maxValue=23 step=1 label="Ora Spegnimento"
|
||||
}
|
||||
Group item=GT_Netatmo label="Rilievi Netatmo"
|
||||
Text label="Andamento Netatmo" icon="line"
|
||||
{
|
||||
Frame label="Temperature Rilevate"
|
||||
@@ -308,6 +372,35 @@ sitemap Steamware label="Steamware"
|
||||
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_48a7dcf6_local_current_condition label="Meteo"
|
||||
{
|
||||
Frame label="Situazione Attuale"
|
||||
{
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_condition
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_temperature
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_humidity
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_pressure
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_wind_direction
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_wind_speed
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_local_current_rain
|
||||
Text item=openweathermap_weather_and_forecast_48a7dcf6_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
|
||||
}
|
||||
// Setpoint item=GU120_CL_Start minValue=0 maxValue=23 step=1 label="Ora Avvio"
|
||||
// Setpoint item=GU120_CL_Stop minValue=0 maxValue=23 step=1 label="Ora Spegnimento"
|
||||
}
|
||||
}
|
||||
Frame label="Network"
|
||||
{
|
||||
@@ -319,7 +412,7 @@ sitemap Steamware label="Steamware"
|
||||
{
|
||||
Frame label="Presenze Ufficio"
|
||||
{
|
||||
Switch item=gNet_mobileChartSel label="Periodo" icon="door" mappings=[0="24h", 1="7g", 2="1M", 3="2M"]
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user