Bender: Add identify support (#3115)
This commit is contained in:
parent
baa5c30485
commit
68db9b27dc
12 changed files with 51 additions and 17 deletions
|
|
@ -18,9 +18,10 @@ package charger
|
|||
// SOFTWARE.
|
||||
|
||||
// Supports all chargers based on Bender CC612/613 controller series
|
||||
// * The modbus server must be enabled
|
||||
// * The setting 'Modbus Slave Register Address Set' must NOT be set to 'Phoenix' or 'TQ-DM100'.
|
||||
// Use the third selection labeled 'Ebee', 'Bender' etc.
|
||||
// * The 'Modbus TCP Server for energy management systems' must be enabled.
|
||||
// * The setting 'Register Address Set' must NOT be set to 'Phoenix' or 'TQ-DM100'.
|
||||
// Use the third selection labeled 'Ebee', 'Bender', 'MENNEKES' etc.
|
||||
// * Set 'Allow UID Disclose' to On
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
|
|
@ -47,6 +48,7 @@ const (
|
|||
bendRegActivePower = 220 // Active Power from primary meter (W)
|
||||
bendRegChargedEnergy = 716 // Sum of charged energy for the current session (Wh)
|
||||
bendRegChargingDuration = 718 // Duration since beginning of charge (Seconds)
|
||||
bendRegUserID = 720 // User ID (OCPP IdTag) from the current session. Bytes 0 to 19.
|
||||
bendRegEVCCID = 741 // ASCII representation of the Hex. Values corresponding to the EVCCID. Bytes 0 to 11.
|
||||
bendRegHemsCurrentLimit = 1000 // Current limit of the HEMS module (A)
|
||||
|
||||
|
|
@ -231,12 +233,27 @@ var _ api.Identifier = (*BenderCC)(nil)
|
|||
|
||||
// Identify implements the api.Identifier interface
|
||||
func (wb *BenderCC) Identify() (string, error) {
|
||||
b, err := wb.conn.ReadHoldingRegisters(bendRegEVCCID, 6)
|
||||
b, err := wb.conn.ReadHoldingRegisters(bendRegSmartVehicleDetected, 1)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return string(b), nil
|
||||
if binary.BigEndian.Uint16(b) != 0 {
|
||||
e, err := wb.conn.ReadHoldingRegisters(bendRegEVCCID, 6)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if string(e) != "" {
|
||||
return string(e), nil
|
||||
}
|
||||
}
|
||||
|
||||
u, err := wb.conn.ReadHoldingRegisters(bendRegUserID, 10)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return string(u), nil
|
||||
}
|
||||
|
||||
var _ api.Diagnosis = (*BenderCC)(nil)
|
||||
|
|
@ -258,4 +275,10 @@ func (wb *BenderCC) Diagnose() {
|
|||
if b, err := wb.conn.ReadHoldingRegisters(bendRegSmartVehicleDetected, 1); err == nil {
|
||||
fmt.Printf("\tSmart Vehicle:\t%t\n", binary.BigEndian.Uint16(b) != 0)
|
||||
}
|
||||
if b, err := wb.conn.ReadHoldingRegisters(bendRegEVCCID, 6); err == nil {
|
||||
fmt.Printf("\tEVCCID:\t%s\n", b)
|
||||
}
|
||||
if b, err := wb.conn.ReadHoldingRegisters(bendRegUserID, 10); err == nil {
|
||||
fmt.Printf("\tUserID:\t%s\n", b)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,8 +32,9 @@ products:
|
|||
generic: Heinz
|
||||
requirements:
|
||||
description:
|
||||
de: Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
en: The Modbus server must be enabled. The setting 'Modbus Slave Register Address Set' must NOT be set to 'Phoenix' or 'TQ-DM100'. Use the third selection labeled 'Ebee', 'Bender' etc.
|
||||
de: Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
en: The 'Modbus TCP Server' must be enabled. The setting 'Register Address Set' must NOT be set to 'Phoenix' or 'TQ-DM100'. Use the third selection labeled 'Ebee', 'Bender', 'MENNEKES' etc. Set 'Allow UID Disclose' to On.
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Bender
|
||||
description: CC612/613
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Mennekes
|
||||
description: Amedio, Amtron ChargeControl, Professional
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Webasto
|
||||
description: Live
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Juice
|
||||
description: Charger Me
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: TechniSat
|
||||
description: Technivolt
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Ebee
|
||||
description: Wallbox
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Optec
|
||||
description: Mobility One
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Garo
|
||||
description: GLB, GLB+, LS4, LS4 compact
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Ensto
|
||||
description: Chago Wallbox
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
product:
|
||||
brand: Ubitricity
|
||||
description: Heinz
|
||||
requirements: ["sponsorship"]
|
||||
description: |
|
||||
Der Modbus Server muss aktiviert sein. 'Modbus Slave Register Address Set' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender' etc. ist richtig.
|
||||
Der 'Modbus TCP Server für Energiemanagement-Systeme' muss aktiviert sein. 'Registersatz' darf NICHT auf 'Phoenix' oder 'TQ-DM100' eingestellt sein. Die dritte Auswahlmöglichkeit 'Ebee', 'Bender', 'MENNEKES' etc. ist richtig. 'UID Übertragung erlauben' muss aktiviert sein.
|
||||
render:
|
||||
- default: |
|
||||
type: template
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue