It would advise to bind the channels to Things as you may use them in other rules as well:
Switch TagNacht "Wenn Tag, dann An, Wenn Nacht, dann Aus" <time> (Home, gVar)
Switch Vormittag "An zum Sonnenaufgang, Aus zum Mittag" <time> (Home, gVar)
String Tagesanfang "Beginn der Dämmerung, Sonnenaufgang" <time> (Home, gVAR)
String Tagesende "Sonnenuntergang, Ende der Dämmerung" <time> (Home, gVAR)
String ACT_AZ_SH "Azimut / Sonnenwinkel [%s]" <sun> (Home, gVAR)
DateTime Sonnenaufgang_Anfang "Sonnenaufgang Beginn [%1$tH:%1$tM]" <sunrise> (gAstro) {channel="astro:sun:local:rise#start"}
DateTime Sonnenaufgang_Ende "Sonnenaufgang Ende [%1$tH:%1$tM]" <sunrise> (gAstro) {channel="astro:sun:local:rise#end"}
Number:Time Sonnenaufgang_Dauer "Dauer des Sonnenaufgangs [%.0f Minuten]" <sunrise> (gAstro) {channel="astro:sun:local:rise#duration"}
DateTime Sonnenuntergang_Anfang "Sonnenuntergang Beginn [%1$tH:%1$tM]" <sunset> (gAstro) {channel="astro:sun:local:set#start"}
DateTime Sonnenuntergang_Ende "Sonnenuntergang Ende [%1$tH:%1$tM]" <sunset> (gAstro) {channel="astro:sun:local:set#end"}
Number:Time Sonnenuntergang_Dauer "Dauer des Sonnenuntergangs [%.0f Minuten]" <sunset> (gAstro) {channel="astro:sun:local:set#duration"}
DateTime Mittag_Zeit_Anfang "Mittag Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:noon#start"}
DateTime Mittag_Zeit_Ende "Mittag Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:noon#end"}
Number:Time Mittag_Dauer "Dauer des Mittags [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:noon#duration"}
DateTime Nacht_Zeit_Anfang "Nacht Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:night#start"}
DateTime Nacht_Zeit_Ende "Nacht Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:night#end"}
Number:Time Nacht_Dauer "Dauer der Nacht [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:night#duration"}
DateTime Morgenliche_Nacht_Anfang "Morgenliche Nacht Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:morningNight#start"}
DateTime Morgenliche_Nacht_Ende "Morgenliche Nacht Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:morningNight#end"}
Number:Time Morgenliche_Nacht_Dauer "Dauer der morgenlichen Nacht [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:morningNight#duration"}
DateTime Astronomische_Morgendaemmerung_Anfang "Astronomische Morgendämmerung Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:astroDawn#start"}
DateTime Astronomische_Morgendaemmerung_Ende "Astronomische Morgendämmerung Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:astroDawn#end"}
Number:Time Astronomische_Morgendaemmerung_Dauer "Dauer der astronomischen Morgendämmerung [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:astroDawn#duration"}
DateTime Nautische_Morgendaemmerung_Anfang "Nautische Morgendämmerung Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:nauticDawn#start"}
DateTime Nautische_Morgendaemmerung_Ende "Nautische Morgendämmerung Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:nauticDawn#end"}
Number:Time Nautische_Morgendaemmerung_Dauer "Dauer der nautischen Morgendämmerung [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:nauticDawn#duration"}
DateTime Buergerliche_Morgendaemmerung_Anfang "Bürgerliche Morgendämmerung Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:civilDawn#start"}
DateTime Buergerliche_Morgendaemmerung_Ende "Bürgerliche Morgendämmerung Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:civilDawn#end"}
Number:Time Buergerliche_Morgendaemmerung_Dauer "Dauer der bürgerlichen Morgendämmerung [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:civilDawn#duration"}
DateTime Astronomische_Abenddaemmerung_Anfang "Astronomische Abenddämmerung Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:astroDusk#start"}
DateTime Astronomische_Abenddaemmerung_Ende "Astronomische Abenddämmerung Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:astroDusk#end"}
Number:Time Astronomische_Abenddaemmerung_Dauer "Dauer der astronomischen Abenddämmerung [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:astroDusk#duration"}
DateTime Nautische_Abenddaemmerung_Anfang "Nautische Abenddämmerung Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:nauticDusk#start"}
DateTime Nautische_Abenddaemmerung_Ende "Nautische Abenddämmerung Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:nauticDusk#end"}
Number:Time Nautische_Abenddaemmerung_Dauer "Dauer der nautischen Abenddämmerung [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:nauticDusk#duration"}
DateTime Buergerliche_Abenddaemmerung_Anfang "Bürgerliche Abenddämmerung Beginn [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:civilDusk#start"}
DateTime Buergerliche_Abenddaemmerung_Ende "Bürgerliche Abenddämmerung Ende [%1$tH:%1$tM]" <sun> (gAstro) {channel="astro:sun:local:civilDusk#end"}
Number:Time Buergerliche_Abenddaemmerung_Dauer "Dauer der bürgerlichen Abenddämmerung [%.0f Minuten]" <sun> (gAstro) {channel="astro:sun:local:civilDusk#duration"}
You may then use in rules like the ones you displayed, I am using similar ones to open/close my blinds using g channel triggers as you do. Here are more examples:
rule "Zusammenfassung Daemmerung - Sonnenaufgang"
when
System started or
Item Sonnenaufgang_Anfang changed or
Item Buergerliche_Morgendaemmerung_Anfang changed
then
val String SUNA = Sonnenaufgang_Anfang.state.format("%1$tH:%1$tM")
val String BMDA = Buergerliche_Morgendaemmerung_Anfang.state.format("%1$tH:%1$tM")
var String Ausgabe_D1 = String::format("%s / %s", BMDA, SUNA)
Tagesanfang.postUpdate(Ausgabe_D1)
end
rule "Zusammenfassung Sonnenuntergang - Daemmerung"
when
System started or
Item Sonnenuntergang_Anfang changed or
Item Nautische_Abenddaemmerung_Anfang changed
then
val String SUNS = Sonnenuntergang_Anfang.state.format("%1$tH:%1$tM")
val String BADE = Nautische_Abenddaemmerung_Anfang.state.format("%1$tH:%1$tM")
var String Ausgabe_D2 = String::format("%s / %s", SUNS, BADE)
Tagesende.postUpdate(Ausgabe_D2)
end
rule "Azimut und Sonnenhoehe"
when
System started or
Item Jahreszeit changed or
Item Azimut changed or
Item Sonnenhoehe changed
then
var az = ((Azimut.state as Number).floatValue)
var sh = ((Sonnenhoehe.state as Number).floatValue)
var String ah = String::format("%1$.1f° / %2$.1f°", az, sh)
ACT_AZ_SH.postUpdate(ah)
end