Dadapower: add status reasoner (#15654)
This commit is contained in:
parent
0660cff918
commit
1dce61efe2
1 changed files with 15 additions and 0 deletions
|
|
@ -21,6 +21,7 @@ const (
|
|||
dadapowerRegActivePhases = 1002
|
||||
dadapowerRegCurrents = 1006
|
||||
dadapowerRegActiveEnergy = 1009
|
||||
dadapowerRegChargingPortState = 1015
|
||||
dadapowerRegPlugState = 1016
|
||||
dadapowerRegEnergyImportSession = 1017
|
||||
dadapowerRegEnergyImportTotal = 1025
|
||||
|
|
@ -110,6 +111,20 @@ func (wb *Dadapower) Status() (api.ChargeStatus, error) {
|
|||
}
|
||||
}
|
||||
|
||||
var _ api.StatusReasoner = (*Dadapower)(nil)
|
||||
|
||||
// StatusReason implements the api.StatusReasoner interface
|
||||
func (wb *Dadapower) StatusReason() (api.Reason, error) {
|
||||
res := api.ReasonUnknown
|
||||
|
||||
b, err := wb.conn.ReadHoldingRegisters(dadapowerRegChargingPortState, 2)
|
||||
if err == nil && binary.BigEndian.Uint16(b) == 3 {
|
||||
res = api.ReasonWaitingForAuthorization
|
||||
}
|
||||
|
||||
return res, err
|
||||
}
|
||||
|
||||
// Enabled implements the api.Charger interface
|
||||
func (wb *Dadapower) Enabled() (bool, error) {
|
||||
b, err := wb.conn.ReadInputRegisters(dadapowerRegChargingAllowed+wb.regOffset, 1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue