rule "Suppress watt reports during off hours" when Time cron "0 0 22 ? * * *" then DryerHEMG2_10_ReportingInterval.sendCommand(14400) OvenHEMG2_7_ReportingInterval.sendCommand(14400) end rule "Restore watt reports for prime hours" when Time cron "0 0 7 ? * * *" then DryerHEMG2_10_ReportingInterval.sendCommand(300) OvenHEMG2_7_ReportingInterval.sendCommand(60) end rule "Electric Blanket Interval Increase" when Time cron "0 30 19 ? * * *" then MasterBedroomAC24_WattReportingInterval.sendCommand(900) end rule "Electric Blanket Interval Decrease" when Time cron "0 0 8 ? * * *" then MasterBedroomAC24_WattReportingInterval.sendCommand(7200) end rule "Shorten Generator Reporting Frequency" when Item Generator_In_Use changed to ON then GeneratorHEMG28_ReportingInterval.sendCommand(60) end rule "Lengthen Generator Reporting Frequency" when Item Generator_In_Use changed to OFF then GeneratorHEMG28_ReportingInterval.sendCommand(28800) end rule "Refresh AC Meter after Reporting Interval change" when Item HouseACHEMG2_9_ReportingInterval changed then Thread::sleep(15000) HouseACHEMG29_Electricmeterwatts.sendCommand ("REFRESH") end rule "Furnace 2-1 Wattage Reports" when Item HEMGenerator10_ElectricMeterWatts1 received update then var count = Furnace_Watt_Reports.state as Number Furnace_Watt_Reports.sendCommand(count + 1) end rule "Networking 3-1 Wattage Reports" when Item NetworkingMicrowave9_Electricmeterwatts1 received update then var count = Network_Watt_Reports.state as Number Network_Watt_Reports.sendCommand(count + 1) end rule "Microwave 3-2 Wattage Reports" when Item MicrowaveGarageBonus9_Electricmeterwatts2 received update then var count = Microwave_Watt_Reports.state as Number Microwave_Watt_Reports.sendCommand(count + 1) end rule "Electric Sub Panel 6 Wattage Reports" when Item ElectricalSubpanelHEMG26_Electricmeterwatts received update then var count = Electric_Subpanel_Watt_Reports.state as Number Electric_Subpanel_Watt_Reports.sendCommand(count + 1) end rule "Oven 7 Wattage Reports" when Item OvenHEMG27_Electricmeterwatts received update then var count = Oven_Watt_Reports.state as Number Oven_Watt_Reports.sendCommand(count + 1) end rule "Generator 8 Wattage Reports" when Item GeneratorHEMG28_Electricmeterwatts received update then var count = Generator_Watt_Reports.state as Number Generator_Watt_Reports.sendCommand(count + 1) end rule "House 9 AC Wattage Reports" when Item HouseACHEMG29_Electricmeterwatts received update then var count = House_AC_Watt_Reports.state as Number House_AC_Watt_Reports.sendCommand(count + 1) end rule "Dryer 10 Wattage Reports" when Item DryerHEMG210_Electricmeterwatts received update then var count = Dryer_Watt_Reports.state as Number Dryer_Watt_Reports.sendCommand(count + 1) end rule "Electric Panel Meters 12 Wattage Reports" when Item ElectricPanelMeters12_Electricmeterwatts received update then var count = Electric_Panel_Meter_Watt_Reports.state as Number Electric_Panel_Meter_Watt_Reports.sendCommand(count + 1) end rule "House Total 13 Wattage Reports" when Item HouseHEMG2_13_Electricmeterwatts received update then var count = House_Total_Watt_Reports.state as Number House_Total_Watt_Reports.sendCommand(count + 1) end rule "Water Heater 15 Wattage Reports" when Item WaterHeater15_Electricmeterwatts received update then var count = Water_Heater_Watt_Reports.state as Number Water_Heater_Watt_Reports.sendCommand(count + 1) end rule "Master Bedroom AC 24 Wattage Reports" when Item MasterBedroomAC24_Electricmeterwatts received update then var count = Master_BR_AC_Watt_Reports.state as Number Master_BR_AC_Watt_Reports.sendCommand(count + 1) end rule "Master Bedroom Humidity Alarm Reports" when Item Master_Bath_Humidity__18_Alarm_heat received update or Item Master_Bath_Humidity__18_Alarm_cold received update or Item Master_Bath_Humidity__18_Alarm_humidity received update then var count = ZSE44_Alarm_Count.state as Number ZSE44_Alarm_Count.sendCommand(count + 1) end rule "Master Bath Humidity Wattage Reports" when Item MasterBathHumidity26_Sensorrelativehumidity received update then var count = Master_Bath_Humidity_Reports.state as Number Master_Bath_Humidity_Reports.sendCommand(count + 1) end rule "Furnace 2-1 Optional Watt Refresh With furnace ON" when Item Furnace_Blower_Status_rpi4 changed to ON then // Delay of 2 minutes is to allow for meter to update to new condition var Timer timer1 = null if (timer1 === null) { timer1 = createTimer(now.plusSeconds(120), [ | var watts = HEMGenerator10_ElectricMeterWatts1.state as Number var count = Furnace_HEM_Refresh_Count.state as Number if(watts <= 50) { HEMGenerator10_ElectricMeterWatts1.sendCommand ("REFRESH") Furnace_HEM_Refresh_Count.sendCommand(count + 1) logInfo("events", "HEM Poll with Blower ON") } ]) timer1 = null } end rule "Furnace 2-1 Option Watt Refresh with Furnace OFF" when Item Furnace_Blower_Status_rpi4 changed to OFF then // This could happen with either the AC off or heater off // Delay of 3 minutes is to allow for furnace cool down // Check to make sure blower is still off var Timer timer1 = null if (timer1 === null) { timer1 = createTimer(now.plusSeconds(180), [ | var watts = HEMGenerator10_ElectricMeterWatts1.state as Number var count = Furnace_HEM_Refresh_Count.state as Number val blowercheck = Furnace_Blower_Status_rpi4.state.toString if(watts >= 100 && blowercheck == 'OFF') { HEMGenerator10_ElectricMeterWatts1.sendCommand ("REFRESH") Furnace_HEM_Refresh_Count.sendCommand(count + 1) // logInfo("events", "HEM Poll with Blower OFF") } ]) timer1 = null } end