Sunrise - Sunset to switch on lights with variables

I noticed that you use astro:sun:home:rise#event in your rule and the log file reports astro:sun:local:rise#event triggered START. Looks like your Astro Thing definition or your rules need to change.

Indeed. I changed the rule to verify which channel will trigger the rule (and used double quotes around the channel names), as follows for now:

// Do not operate the roller shutters if the outside temperature is lower than MIN_TEMP
val Number MIN_TEMP = 3.0|°C

rule "sunrise shutter rule"
when
	Channel "astro:sun:local:rise#event" triggered START
	or Channel "astro:sun:local:noon#event" triggered START // In case we missed the morning opening due to cold weather
	// The following channel triggers only serve debug purposes
	or Channel "astro:sun:local:civilDawn#event" triggered
	or Channel 'astro:sun:local:civilDawn#start' triggered
	or Channel 'astro:sun:local:civilDawn#end' triggered
	or Channel "astro:sun:local:rise#start" triggered
	or Channel "astro:sun:local:rise#end" triggered
	or Channel "astro:sun:local:daylight#start" triggered
then
	if (Weather_OWM_Current_Temperature.state > MIN_TEMP) {
		logInfo("SunRiseShutterRule",
			"{} ( {} ) : Roller shutters will open automatically, temperature ({}) above threshold ({})",
			receivedEvent.getChannel(),
			receivedEvent.getEvent(),
			Weather_OWM_Current_Temperature.state,
			MIN_TEMP)
		gShutter.members.forEach[ s | s.sendCommand(UP) ]
	} else {
		logWarn("SunRiseShutterRule",
			"{} ( {} ) : Roller shutters will NOT open automatically, temperature ({}) BELOW threshold ({})",
			receivedEvent.getChannel(),
			receivedEvent.getEvent(),
			Weather_OWM_Current_Temperature.state,
			MIN_TEMP)
	}
end

I’ll await tomorrow to evaluate.

1 Like

Here are all astro events that triggered since midnight:

2019-02-14 00:00:30.779 [vent.ChannelTriggeredEvent] - astro:sun:local:morningNight#event triggered START
2019-02-14 03:14:00.003 [vent.ChannelTriggeredEvent] - astro:moon:local:set#event triggered END
2019-02-14 06:08:00.005 [vent.ChannelTriggeredEvent] - astro:sun:local:morningNight#event triggered END
2019-02-14 06:08:00.007 [vent.ChannelTriggeredEvent] - astro:sun:local:astroDawn#event triggered START
2019-02-14 06:46:00.002 [vent.ChannelTriggeredEvent] - astro:sun:local:astroDawn#event triggered END
2019-02-14 06:46:00.009 [vent.ChannelTriggeredEvent] - astro:sun:local:nauticDawn#event triggered START
2019-02-14 07:25:00.005 [vent.ChannelTriggeredEvent] - astro:sun:local:civilDawn#event triggered START
2019-02-14 07:25:00.008 [vent.ChannelTriggeredEvent] - astro:sun:local:nauticDawn#event triggered END
2019-02-14 07:59:00.005 [vent.ChannelTriggeredEvent] - astro:sun:local:civilDawn#event triggered END
2019-02-14 07:59:00.008 [vent.ChannelTriggeredEvent] - astro:sun:local:rise#event triggered START
2019-02-14 08:03:00.004 [vent.ChannelTriggeredEvent] - astro:sun:local:rise#event triggered END
2019-02-14 08:03:00.005 [vent.ChannelTriggeredEvent] - astro:sun:local:daylight#event triggered START

And here are the openhab log entries so far:

2019-02-14 07:25:00.194 [WARN ] [home.model.script.SunRiseShutterRule] - astro:sun:local:civilDawn#event: Roller shutters will NOT open automatically at sunrise, temperature (-1.76 °C) below 3.0 °C
2019-02-14 07:25:00.195 [WARN ] [home.model.script.SunRiseShutterRule] - astro:sun:local:nauticDawn#event: Roller shutters will NOT open automatically at sunrise, temperature (-1.76 °C) below 3.0 °C
2019-02-14 07:59:00.024 [WARN ] [home.model.script.SunRiseShutterRule] - astro:sun:local:rise#event: Roller shutters will NOT open automatically at sunrise, temperature (-1.76 °C) below 3.0 °C
2019-02-14 07:59:00.030 [WARN ] [home.model.script.SunRiseShutterRule] - astro:sun:local:civilDawn#event: Roller shutters will NOT open automatically at sunrise, temperature (-1.76 °C) below 3.0 °C

So the following channels are triggering the rule:

  • astro:sun:local:civilDawn#event
  • astro:sun:local:nauticDawn#event
  • astro:sun:local:rise#event

(Note: I currently rely on OpenWeatherMap data for retrieving the outside temperature, hence the same value (-1.76°C) appears throughout all 4 rule-triggering events.)

It appears that:

  1. I was using single quotes for quoting the channels ('astro:sun:local:rise#event'), which I now replaced with double quotes ("astro:sun:local:rise#event").
  2. I was incorrectly using :local: instead of :home:in the astro channels - VS Code has no channel awareness checks when editing rules.

Hurray:

OpenHAB log:

2019-02-14 12:58:00.114 [INFO ] [home.model.script.SunRiseShutterRule] - astro:sun:local:noon#event ( {"event":"START","channel":"astro:sun:local:noon#event"} ) : Roller shutters will open automatically, temperature (8.28 °C) above threshold 3.0 °C

event.log:

2019-02-14 12:58:00.006 [vent.ChannelTriggeredEvent] - astro:sun:local:noon#event triggered START
2019-02-14 12:58:00.223 [ome.event.ItemCommandEvent] - Item 'ALL_Shutters' received command UP
2019-02-14 12:58:00.233 [ome.event.ItemCommandEvent] - Item 'AT_Shutter_N' received command UP
2019-02-14 12:58:00.236 [ome.event.ItemCommandEvent] - Item 'AT_Shutter_S_R' received command UP
2019-02-14 12:58:00.245 [ome.event.ItemCommandEvent] - Item 'AT_Shutter_S_L' received command UP
2019-02-14 12:58:00.246 [nt.ItemStatePredictedEvent] - ALL_Shutters predicted to become UP
2019-02-14 12:58:00.251 [nt.ItemStatePredictedEvent] - AT_Shutter_N predicted to become UP
2019-02-14 12:58:00.251 [nt.ItemStatePredictedEvent] - AT_Shutter_S_R predicted to become UP
2019-02-14 12:58:00.251 [nt.ItemStatePredictedEvent] - AT_Shutter_S_L predicted to become UP
2019-02-14 12:58:00.252 [vent.ItemStateChangedEvent] - ALL_Shutters changed from 100 to 0
2019-02-14 12:58:00.252 [vent.ItemStateChangedEvent] - AT_Shutter_N changed from 100 to 0
2019-02-14 12:58:00.252 [vent.ItemStateChangedEvent] - AT_Shutter_S_L changed from 100 to 0
2019-02-14 12:58:02.052 [vent.ItemStateChangedEvent] - ALL_Shutters changed from 0 to 100
2019-02-14 12:58:02.053 [vent.ItemStateChangedEvent] - AT_Shutter_N changed from 0 to 100
2019-02-14 12:58:02.307 [vent.ItemStateChangedEvent] - AT_Shutter_S_L changed from 0 to 100
2019-02-14 12:58:11.669 [vent.ItemStateChangedEvent] - ntp_ntp_local_dateTime changed from 2019-02-14T12:57:11.664+0100 to 2019-02-14T12:58:11.665+0100
2019-02-14 12:58:11.670 [vent.ItemStateChangedEvent] - ntp_ntp_local_string changed from 2019-02-14 12:57:11 CET to 2019-02-14 12:58:11 CET
2019-02-14 12:59:00.003 [vent.ChannelTriggeredEvent] - astro:sun:local:noon#event triggered END

I am a happy camper :sunglasses:!

Glad it got resolved! :grinning: