mirror of
https://github.com/Xevion/go-ha.git
synced 2025-12-06 05:15:15 -06:00
refactor: make fork independent, rename PriorityQueue
This commit is contained in:
25
README.md
25
README.md
@@ -11,7 +11,7 @@ Gome-Assistant is a new library, and I'm opening it up early to get some user fe
|
|||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
```
|
```
|
||||||
go get saml.dev/gome-assistant
|
go get github.com/Xevion/gome-assistant
|
||||||
```
|
```
|
||||||
|
|
||||||
### Generate Entity Constants
|
### Generate Entity Constants
|
||||||
@@ -22,8 +22,8 @@ You can generate type-safe constants for all your Home Assistant entities using
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
url: "http://192.168.1.123:8123"
|
url: "http://192.168.1.123:8123"
|
||||||
ha_auth_token: "your_auth_token" # Or set HA_AUTH_TOKEN env var
|
ha_auth_token: "your_auth_token" # Or set HA_AUTH_TOKEN env var
|
||||||
home_zone_entity_id: "zone.home" # Optional: defaults to zone.home
|
home_zone_entity_id: "zone.home" # Optional: defaults to zone.home
|
||||||
|
|
||||||
# Optional: List of domains to include when generating constants
|
# Optional: List of domains to include when generating constants
|
||||||
# If provided, only these domains will be processed
|
# If provided, only these domains will be processed
|
||||||
@@ -37,7 +37,7 @@ exclude_domains: ["device_tracker", "person"]
|
|||||||
2. Add a `//go:generate` comment in your project:
|
2. Add a `//go:generate` comment in your project:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
//go:generate go run saml.dev/gome-assistant/cmd/generate
|
//go:generate go run github.com/Xevion/gome-assistant/cmd/generate
|
||||||
```
|
```
|
||||||
|
|
||||||
Optionally use the `-config` flag to customize the file path of the config file.
|
Optionally use the `-config` flag to customize the file path of the config file.
|
||||||
@@ -87,7 +87,7 @@ The general flow is
|
|||||||
3. Start app
|
3. Start app
|
||||||
|
|
||||||
```go
|
```go
|
||||||
import ga "saml.dev/gome-assistant"
|
import ga "github.com/Xevion/gome-assistant"
|
||||||
|
|
||||||
// replace with IP and port of your Home Assistant installation
|
// replace with IP and port of your Home Assistant installation
|
||||||
app, err := ga.NewApp(ga.NewAppRequest{
|
app, err := ga.NewApp(ga.NewAppRequest{
|
||||||
@@ -107,7 +107,7 @@ app.RegisterIntervals(...)
|
|||||||
app.Start()
|
app.Start()
|
||||||
```
|
```
|
||||||
|
|
||||||
A full reference is available on [pkg.go.dev](https://pkg.go.dev/saml.dev/gome-assistant), but all you need to know to get started are the four types of automations in gome-assistant.
|
A full reference is available on [pkg.go.dev](https://pkg.go.dev/github.com/Xevion/gome-assistant), but all you need to know to get started are the four types of automations in gome-assistant.
|
||||||
|
|
||||||
- [Daily Schedules](#daily-schedule)
|
- [Daily Schedules](#daily-schedule)
|
||||||
- [Entity Listeners](#entity-listener)
|
- [Entity Listeners](#entity-listener)
|
||||||
@@ -205,16 +205,17 @@ app.RegisterEventListeners(eventListener)
|
|||||||
|
|
||||||
Event listeners have other functions to change the behavior.
|
Event listeners have other functions to change the behavior.
|
||||||
|
|
||||||
| Function | Info |
|
| Function | Info |
|
||||||
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||||
| OnlyBetween("03:00", "14:00") | Only run your function between two specified times of day |
|
| OnlyBetween("03:00", "14:00") | Only run your function between two specified times of day |
|
||||||
| OnlyAfter("03:00") | Only run your function after a specified time of day |
|
| OnlyAfter("03:00") | Only run your function after a specified time of day |
|
||||||
| OnlyBefore("03:00") | Only run your function before a specified time of day |
|
| OnlyBefore("03:00") | Only run your function before a specified time of day |
|
||||||
| Throttle("30s") | Minimum time between function calls |
|
| Throttle("30s") | Minimum time between function calls |
|
||||||
| ExceptionDates(time.Time, ...time.Time) | A one time exception on the given date. Time is ignored, applies to whole day. Functions like a "blocklist" |
|
| ExceptionDates(time.Time, ...time.Time) | A one time exception on the given date. Time is ignored, applies to whole day. Functions like a "blocklist" |
|
||||||
| ExceptionRange(time.Time, time.Time) | A one time exception between the two date/times. Both date and time are considered. Functions like a "blocklist" |
|
| ExceptionRange(time.Time, time.Time) | A one time exception between the two date/times. Both date and time are considered. Functions like a "blocklist" |
|
||||||
|
|
||||||
The callback function receives three parameters:
|
The callback function receives three parameters:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func myCallback(service *ga.Service, state ga.State, data ga.EventData) {
|
func myCallback(service *ga.Service, state ga.State, data ga.EventData) {
|
||||||
// You can unmarshal the raw JSON into a type-safe struct
|
// You can unmarshal the raw JSON into a type-safe struct
|
||||||
|
|||||||
8
app.go
8
app.go
@@ -13,10 +13,10 @@ import (
|
|||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
sunriseLib "github.com/nathan-osman/go-sunrise"
|
sunriseLib "github.com/nathan-osman/go-sunrise"
|
||||||
|
|
||||||
"saml.dev/gome-assistant/internal"
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
"saml.dev/gome-assistant/internal/http"
|
"github.com/Xevion/gome-assistant/internal/http"
|
||||||
pq "saml.dev/gome-assistant/internal/priorityqueue"
|
pq "github.com/Xevion/gome-assistant/internal/priority_queue"
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ErrInvalidArgs = errors.New("invalid arguments provided")
|
var ErrInvalidArgs = errors.New("invalid arguments provided")
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package gomeassistant
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
"saml.dev/gome-assistant/internal"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type conditionCheck struct {
|
type conditionCheck struct {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"saml.dev/gome-assistant/internal"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type MockState struct {
|
type MockState struct {
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
|
||||||
|
ga "github.com/Xevion/gome-assistant"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
ga "saml.dev/gome-assistant"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
|
|
||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
|
|
||||||
"saml.dev/gome-assistant/internal"
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
type EntityListener struct {
|
type EntityListener struct {
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import (
|
|||||||
|
|
||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
|
|
||||||
"saml.dev/gome-assistant/internal"
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
type EventListener struct {
|
type EventListener struct {
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import (
|
|||||||
|
|
||||||
// "example/entities" // Optional import generated entities
|
// "example/entities" // Optional import generated entities
|
||||||
|
|
||||||
ga "saml.dev/gome-assistant"
|
ga "github.com/Xevion/gome-assistant"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate go run saml.dev/gome-assistant/cmd/generate
|
//go:generate go run github.com/Xevion/gome-assistant/cmd/generate
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
app, err := ga.NewApp(ga.NewAppRequest{
|
app, err := ga.NewApp(ga.NewAppRequest{
|
||||||
@@ -24,7 +24,13 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
defer app.Cleanup()
|
defer func() {
|
||||||
|
slog.Info("Shutting down application...")
|
||||||
|
if err := app.Close(); err != nil {
|
||||||
|
slog.Error("Error during shutdown", "error", err)
|
||||||
|
}
|
||||||
|
slog.Info("Application shutdown complete")
|
||||||
|
}()
|
||||||
|
|
||||||
pantryDoor := ga.
|
pantryDoor := ga.
|
||||||
NewEntityListener().
|
NewEntityListener().
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
|
|
||||||
ga "saml.dev/gome-assistant"
|
ga "github.com/Xevion/gome-assistant"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ require (
|
|||||||
github.com/golang-cz/devslog v0.0.8
|
github.com/golang-cz/devslog v0.0.8
|
||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.8.4
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
saml.dev/gome-assistant v0.2.0
|
github.com/Xevion/gome-assistant v0.2.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
|||||||
@@ -96,5 +96,5 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
saml.dev/gome-assistant v0.2.0 h1:Clo5DrziTdsYydVUTQfroeBVmToMnNHoObr+k6HhbMY=
|
github.com/Xevion/gome-assistant v0.2.0 h1:Clo5DrziTdsYydVUTQfroeBVmToMnNHoObr+k6HhbMY=
|
||||||
saml.dev/gome-assistant v0.2.0/go.mod h1:jsZUtnxANCP0zB2B7iyy4j7sZohMGop8g+5EB2MER3o=
|
github.com/Xevion/gome-assistant v0.2.0/go.mod h1:jsZUtnxANCP0zB2B7iyy4j7sZohMGop8g+5EB2MER3o=
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -1,4 +1,4 @@
|
|||||||
module saml.dev/gome-assistant
|
module github.com/Xevion/gome-assistant
|
||||||
|
|
||||||
go 1.21
|
go 1.21
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package priorityqueue
|
package priority_queue
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"container/heap"
|
"container/heap"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
"saml.dev/gome-assistant/types"
|
"github.com/Xevion/gome-assistant/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"saml.dev/gome-assistant/internal"
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Event struct {
|
type Event struct {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
type HomeAssistant struct {
|
type HomeAssistant struct {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
"saml.dev/gome-assistant/types"
|
"github.com/Xevion/gome-assistant/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Notify struct {
|
type Notify struct {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Number struct {
|
type Number struct {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"saml.dev/gome-assistant/internal"
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
func BuildService[
|
func BuildService[
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Structs */
|
/* Structs */
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
|
|
||||||
i "saml.dev/gome-assistant/internal"
|
i "github.com/Xevion/gome-assistant/internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ErrInvalidToken = errors.New("invalid authentication token")
|
var ErrInvalidToken = errors.New("invalid authentication token")
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"saml.dev/gome-assistant/internal"
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
type IntervalCallback func(*Service, State)
|
type IntervalCallback func(*Service, State)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/Xevion/gome-assistant/internal"
|
||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
"saml.dev/gome-assistant/internal"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type ScheduleCallback func(*Service, State)
|
type ScheduleCallback func(*Service, State)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package gomeassistant
|
package gomeassistant
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"saml.dev/gome-assistant/internal/services"
|
"github.com/Xevion/gome-assistant/internal/services"
|
||||||
ws "saml.dev/gome-assistant/internal/websocket"
|
ws "github.com/Xevion/gome-assistant/internal/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user