HEMS: add templates (#25832)
Co-authored-by: Michael Geers <michael@geers.tv> Co-authored-by: premultiply <4681172+premultiply@users.noreply.github.com>
This commit is contained in:
parent
37e96867ab
commit
06f6eb1d26
35 changed files with 985 additions and 175 deletions
|
|
@ -108,6 +108,16 @@ func ConfigurationsByClass(class templates.Class) ([]Config, error) {
|
|||
return res, tx.Error
|
||||
}
|
||||
|
||||
// ConfigurationByClass returns the single configuration for class, or nil if none
|
||||
func ConfigurationByClass(class templates.Class) (*Config, error) {
|
||||
configs, err := ConfigurationsByClass(class)
|
||||
if err != nil || len(configs) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &configs[0], nil
|
||||
}
|
||||
|
||||
// ConfigByID returns device by id from the database
|
||||
func ConfigByID(id int) (Config, error) {
|
||||
var config Config
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import (
|
|||
evbus "github.com/asaskevich/EventBus"
|
||||
"github.com/evcc-io/evcc/api"
|
||||
"github.com/evcc-io/evcc/core/loadpoint"
|
||||
"github.com/evcc-io/evcc/hems/hems"
|
||||
)
|
||||
|
||||
var bus = evbus.New()
|
||||
|
|
@ -13,6 +14,7 @@ var instance struct {
|
|||
chargers *handler[api.Charger]
|
||||
vehicles *handler[api.Vehicle]
|
||||
circuits *handler[api.Circuit]
|
||||
hems *handler[hems.API]
|
||||
messengers *handler[api.Messenger]
|
||||
loadpoints *handler[loadpoint.API]
|
||||
tariffs *handler[api.Tariff]
|
||||
|
|
@ -27,6 +29,7 @@ func Reset() {
|
|||
instance.chargers = &handler[api.Charger]{topic: "charger"}
|
||||
instance.vehicles = &handler[api.Vehicle]{topic: "vehicle"}
|
||||
instance.circuits = &handler[api.Circuit]{topic: "circuit"}
|
||||
instance.hems = &handler[hems.API]{topic: "hems"}
|
||||
instance.messengers = &handler[api.Messenger]{topic: "messenger"}
|
||||
instance.loadpoints = &handler[loadpoint.API]{topic: "loadpoint"}
|
||||
instance.tariffs = &handler[api.Tariff]{topic: "tariff"}
|
||||
|
|
@ -60,6 +63,10 @@ func Circuits() Handler[api.Circuit] {
|
|||
return instance.circuits
|
||||
}
|
||||
|
||||
func Hems() Handler[hems.API] {
|
||||
return instance.hems
|
||||
}
|
||||
|
||||
func Loadpoints() Handler[loadpoint.API] {
|
||||
return instance.loadpoints
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,4 +12,5 @@ const (
|
|||
Loadpoint
|
||||
Circuit
|
||||
Messenger
|
||||
Hems
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
const _ClassName = "chargermetervehicletariffloadpointcircuitmessenger"
|
||||
const _ClassName = "chargermetervehicletariffloadpointcircuitmessengerhems"
|
||||
|
||||
var _ClassIndex = [...]uint8{0, 7, 12, 19, 25, 34, 41, 50}
|
||||
var _ClassIndex = [...]uint8{0, 7, 12, 19, 25, 34, 41, 50, 54}
|
||||
|
||||
const _ClassLowerName = "chargermetervehicletariffloadpointcircuitmessenger"
|
||||
const _ClassLowerName = "chargermetervehicletariffloadpointcircuitmessengerhems"
|
||||
|
||||
func (i Class) String() string {
|
||||
i -= 1
|
||||
|
|
@ -32,9 +32,10 @@ func _ClassNoOp() {
|
|||
_ = x[Loadpoint-(5)]
|
||||
_ = x[Circuit-(6)]
|
||||
_ = x[Messenger-(7)]
|
||||
_ = x[Hems-(8)]
|
||||
}
|
||||
|
||||
var _ClassValues = []Class{Charger, Meter, Vehicle, Tariff, Loadpoint, Circuit, Messenger}
|
||||
var _ClassValues = []Class{Charger, Meter, Vehicle, Tariff, Loadpoint, Circuit, Messenger, Hems}
|
||||
|
||||
var _ClassNameToValueMap = map[string]Class{
|
||||
_ClassName[0:7]: Charger,
|
||||
|
|
@ -51,6 +52,8 @@ var _ClassNameToValueMap = map[string]Class{
|
|||
_ClassLowerName[34:41]: Circuit,
|
||||
_ClassName[41:50]: Messenger,
|
||||
_ClassLowerName[41:50]: Messenger,
|
||||
_ClassName[50:54]: Hems,
|
||||
_ClassLowerName[50:54]: Hems,
|
||||
}
|
||||
|
||||
var _ClassNames = []string{
|
||||
|
|
@ -61,6 +64,7 @@ var _ClassNames = []string{
|
|||
_ClassName[25:34],
|
||||
_ClassName[34:41],
|
||||
_ClassName[41:50],
|
||||
_ClassName[50:54],
|
||||
}
|
||||
|
||||
// ClassString retrieves an enum value from the enum constants string name.
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ func init() {
|
|||
|
||||
baseTmpl = template.Must(FuncMap(template.New("base")).ParseFS(includeFS, "includes/*.tpl"))
|
||||
|
||||
for _, class := range []Class{Charger, Meter, Vehicle, Tariff, Messenger, Circuit} {
|
||||
for _, class := range []Class{Charger, Meter, Vehicle, Tariff, Messenger, Circuit, Hems} {
|
||||
load(class)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue