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 ¶
func (w *WitchConfig) InitEchoConfig(frontendAssets fs.FS, apiDocAssets fs.FS) *echo.Echo
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.