diff --git a/api/api.go b/api/api.go
index c7dcafb39..d6b8a0acc 100644
--- a/api/api.go
+++ b/api/api.go
@@ -49,6 +49,10 @@ type ChargeState interface {
Status() (ChargeStatus, error)
}
+type StatusReasoner interface {
+ StatusReason() (Reason, error)
+}
+
// CurrentController provides settings charging maximum charging current
type CurrentController interface {
MaxCurrent(current int64) error
diff --git a/api/reason.go b/api/reason.go
new file mode 100644
index 000000000..46fbd7525
--- /dev/null
+++ b/api/reason.go
@@ -0,0 +1,9 @@
+package api
+
+type Reason int
+
+//go:generate enumer -type Reason -trimprefix Reason -transform=lower
+const (
+ ReasonUnknown Reason = iota
+ ReasonWaitingForAuthorization
+)
diff --git a/api/reason_enumer.go b/api/reason_enumer.go
new file mode 100644
index 000000000..b2d441de5
--- /dev/null
+++ b/api/reason_enumer.go
@@ -0,0 +1,78 @@
+// Code generated by "enumer -type Reason -trimprefix Reason -transform=lower"; DO NOT EDIT.
+
+package api
+
+import (
+ "fmt"
+ "strings"
+)
+
+const _ReasonName = "unknownwaitingforauthorization"
+
+var _ReasonIndex = [...]uint8{0, 7, 30}
+
+const _ReasonLowerName = "unknownwaitingforauthorization"
+
+func (i Reason) String() string {
+ if i < 0 || i >= Reason(len(_ReasonIndex)-1) {
+ return fmt.Sprintf("Reason(%d)", i)
+ }
+ return _ReasonName[_ReasonIndex[i]:_ReasonIndex[i+1]]
+}
+
+// An "invalid array index" compiler error signifies that the constant values have changed.
+// Re-run the stringer command to generate them again.
+func _ReasonNoOp() {
+ var x [1]struct{}
+ _ = x[ReasonUnknown-(0)]
+ _ = x[ReasonWaitingForAuthorization-(1)]
+}
+
+var _ReasonValues = []Reason{ReasonUnknown, ReasonWaitingForAuthorization}
+
+var _ReasonNameToValueMap = map[string]Reason{
+ _ReasonName[0:7]: ReasonUnknown,
+ _ReasonLowerName[0:7]: ReasonUnknown,
+ _ReasonName[7:30]: ReasonWaitingForAuthorization,
+ _ReasonLowerName[7:30]: ReasonWaitingForAuthorization,
+}
+
+var _ReasonNames = []string{
+ _ReasonName[0:7],
+ _ReasonName[7:30],
+}
+
+// ReasonString retrieves an enum value from the enum constants string name.
+// Throws an error if the param is not part of the enum.
+func ReasonString(s string) (Reason, error) {
+ if val, ok := _ReasonNameToValueMap[s]; ok {
+ return val, nil
+ }
+
+ if val, ok := _ReasonNameToValueMap[strings.ToLower(s)]; ok {
+ return val, nil
+ }
+ return 0, fmt.Errorf("%s does not belong to Reason values", s)
+}
+
+// ReasonValues returns all values of the enum
+func ReasonValues() []Reason {
+ return _ReasonValues
+}
+
+// ReasonStrings returns a slice of all String values of the enum
+func ReasonStrings() []string {
+ strs := make([]string, len(_ReasonNames))
+ copy(strs, _ReasonNames)
+ return strs
+}
+
+// IsAReason returns "true" if the value is listed in the enum definition. "false" otherwise
+func (i Reason) IsAReason() bool {
+ for _, v := range _ReasonValues {
+ if i == v {
+ return true
+ }
+ }
+ return false
+}
diff --git a/assets/js/components/Loadpoint.vue b/assets/js/components/Loadpoint.vue
index 82499a1b8..88aacd002 100644
--- a/assets/js/components/Loadpoint.vue
+++ b/assets/js/components/Loadpoint.vue
@@ -141,6 +141,7 @@ export default {
sessionSolarPercentage: Number,
// charger
+ chargerAwaitingAuthorization: Boolean,
chargerFeatureIntegratedDevice: Boolean,
chargerFeatureHeating: Boolean,
chargerIcon: String,
diff --git a/assets/js/components/MaterialIcon/RfidWait.vue b/assets/js/components/MaterialIcon/RfidWait.vue
new file mode 100644
index 000000000..4d4a91fcb
--- /dev/null
+++ b/assets/js/components/MaterialIcon/RfidWait.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
diff --git a/assets/js/components/Vehicle.vue b/assets/js/components/Vehicle.vue
index cb0308161..15c549751 100644
--- a/assets/js/components/Vehicle.vue
+++ b/assets/js/components/Vehicle.vue
@@ -107,6 +107,7 @@ export default {
integratedDevice: Boolean,
limitEnergy: Number,
mode: String,
+ chargerAwaitingAuthorization: Boolean,
phaseAction: String,
phaseRemainingInterpolated: Number,
planActive: Boolean,
diff --git a/assets/js/components/VehicleStatus.vue b/assets/js/components/VehicleStatus.vue
index 40d204766..b139c8ff7 100644
--- a/assets/js/components/VehicleStatus.vue
+++ b/assets/js/components/VehicleStatus.vue
@@ -75,6 +75,15 @@
>
+
+
+