Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type WitchConfig ¶
type WitchConfig struct {
APIBaseURL string `envconfig:"API_BASE_URL" default:"/api/v1"`
HueBridge *huego.Bridge `ignored:"true"`
HueDefaultColors map[int]string `envconfig:"HUE_DEFAULT_COLORS" default:""`
HueDefaultColorsEnabled bool `envconfig:"HUE_DEFAULT_COLORS_ENABLED" default:"false"`
HueDefaultColorsStart int `envconfig:"HUE_DEFAULT_COLORS_START" default:"22"`
HueLightsStart int `envconfig:"HUE_LIGHTS_START" default:"18"`
HueLightsEnd int `envconfig:"HUE_LIGHTS_END" default:"7"`
HueLightsStructs []huego.Light `ignored:"true"`
HueLightsScheduleEnabled bool `envconfig:"HUE_LIGHTS_SCHEDULE_ENABLED" default:"false"`
HueLights []int `envconfig:"HUE_LIGHTS" required:"true" split_words:"true"`
HueToken string `envconfig:"HUE_TOKEN" required:"true"`
SoundQueue chan string `ignored:"true"`
SoundQueueCapacity int `envconfig:"SOUND_QUEUE_CAPACITY" default:"1"`
SoundQuietTimeStart int `envconfig:"SOUND_QUIET_TIME_START" default:"22"`
SoundQuietTimeEnabled bool `envconfig:"SOUND_QUIET_TIME_ENABLED" default:"true"`
SoundQuietTimeEnd int `envconfig:"SOUND_QUIET_TIME_END" default:"07"`
GeofencingEnabled bool `envconfig:"GEOFENCING_ENABLED" default:"false"`
GeofencingClient geofence.Geofence `ignored:"true"`
GeofencingIPBaseAPIToken string `envconfig:"GEOFENCING_IPBASE_API_TOKEN" default:""`
GeofencingRadius float64 `envconfig:"GEOFENCING_RADIUS" default:"0.5"`
HomeAssistantClient *resty.Client `ignored:"true"`
HomeAssistantAPIToken string `envconfig:"HOME_ASSISTANT_API_TOKEN" default:""`
HomeAssistantEntityID string `envconfig:"HOME_ASSISTANT_ENTITY_ID" default:""`
HomeAssistantHost string `envconfig:"HOME_ASSISTANT_HOST" default:"http://127.0.0.1"`
HomeAssistantPort int `envconfig:"HOME_ASSISTANT_PORT" default:"8123"`
LogLevel string `envconfig:"LOG_LEVEL" default:"info"`
MetricsEnabled bool `envconfig:"METRICS_ENABLED" default:"true"`
Port int `envconfig:"PORT" default:"8080"`
ShowBanner bool `envconfig:"SHOW_BANNER" default:"false"`
UIEnabled bool `envconfig:"UI_ENABLED" default:"true"`
sync.RWMutex `ignored:"true"`
}
WitchConfig is a global config struct which holds all settings and some stateful objects
func (*WitchConfig) InitDefaultColorsScheduler ¶
func (w *WitchConfig) InitDefaultColorsScheduler()
InitDefaultColorsScheduler conditionally starts a scheduler to set default colors on configured lights
func (*WitchConfig) InitEchoConfig ¶
InitEchoConfig sets initial echo config such as middleware and logger
func (*WitchConfig) InitHueBridge ¶
func (w *WitchConfig) InitHueBridge()
InitHue discovers hue bridge and configured lights
func (*WitchConfig) InitHueLightsScheduler ¶
func (w *WitchConfig) InitHueLightsScheduler()
InitHueLightsScheduler conditionally starts a scheduler to turn on/off lights and set default colors
Click to show internal directories.
Click to hide internal directories.