Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HEMS deviceid from config not accepted #18753

Closed
2 tasks done
hybe2022 opened this issue Feb 12, 2025 · 4 comments
Closed
2 tasks done

HEMS deviceid from config not accepted #18753

hybe2022 opened this issue Feb 12, 2025 · 4 comments
Labels
needs documentation Triggers issue creation in evcc-io/docs

Comments

@hybe2022
Copy link

Describe the bug

I would like to integrate evcc into the SMA system. I used already SAE to get the go-e meter data into the ennexOS portal. Hence I would like to take over the vendorid and deviceid from SAE to keep that data and an let evcc now report the data to SHM2.

The deviceid of the charger in SAE has been defined with a value of '000000000001'. So I put this value into evcc.yaml. Unfortunately this value cannot be decoded and wehn starting evcc it fails with the following error message.

[lp-1 ] DEBUG 2025/02/12 17:28:05 charge total import: 4799.609kWh
[main ] FATAL 2025/02/12 17:28:05 failed configuring hems: device id: encoding/hex: odd length hex string
[main ] FATAL 2025/02/12 17:28:05 will attempt restart in: 15m0s

evcc.yaml:

hems:
type: sma
allowcontrol: false
vendorid: XXXXXXXX
deviceid: 000000000001

Steps to reproduce

try to start evcc with the mentioned deviceid value under hems in evcc.yaml

Configuration details

hems:
  type: sma
  allowcontrol: false
  vendorid: XXXXXXXX
  deviceid: 000000000001

Log details

[lp-1 ] DEBUG 2025/02/12 17:28:05 charge total import: 4799.609kWh
[main ] FATAL 2025/02/12 17:28:05 failed configuring hems: device id: encoding/hex: odd length hex string
[main ] FATAL 2025/02/12 17:28:05 will attempt restart in: 15m0s

What type of operating system or environment does evcc run on?

Linux

External automation

  • I have made sure that no external automation like HomeAssistant or Node-RED is active or accessing any of the mentioned devices when this issue occurs.

Nightly build

  • I have verified that the issue is reproducible with the latest nightly build

Version

0.133.0

@hybe2022 hybe2022 changed the title HEMS device if not accepted HEMS deviceid from config not accepted Feb 12, 2025
@premultiply
Copy link
Member

This will not work the way you think it would work.
evcc constrains the values exactly to SEMP specification and always assigns the loadpoints in order as configured.
Your device id format does not conform to the expected format as specified.
See https://docs.evcc.io/docs/reference/configuration/hems#deviceid

@hybe2022
Copy link
Author

hybe2022 commented Feb 12, 2025

Why is it not compliant to your documentation or SEMP spec? Your doc mentions an ID of 12 symbols which is defined. Kepp in mind the XXXXXXXX 8 digits for the vendorid is only a placeholder. this is not the real value or problem if you closed the issue due to that...

000000000001 is the value that was used by SAE as device id and with this id the loadpoint is integrated into ennexOS. Would like to re-use and replace SAE with evcc, but to do so I need to be able using its current device id.

Image

@hybe2022
Copy link
Author

hybe2022 commented Feb 12, 2025

Leider war der Kommentar nicht hilfreich. Entgegen der Dokumentation, die leider an einigen Stellen nicht eindeutig ist darf man nicht die Zeichenkette so eingeben, sondern muss sie als String in "" angeben.

So klappt es nun:

hems:
type: sma
allowcontrol: false
deviceid: "000000000001"
vendorid: "XXXXXXXX"

So steht's leider in der Doku:

hems:
type: sma
deviceid: BBBBBBBBBBBB
vendorid: AAAAAAAA

richtig wäre:

hems:
type: sma
deviceid: "BBBBBBBBBBBB"
vendorid: "AAAAAAAA"

@premultiply premultiply added the needs documentation Triggers issue creation in evcc-io/docs label Feb 12, 2025
@premultiply
Copy link
Member

Ok, da dieses Feature wohl kaum jemand braucht und nutzt ist das wohl nie aufgefallen.
Da geht es vor allem um den Transfer von einer Hardware auf eine andere.
evcc erwartet da Hexzahlen soweit ich mich erinnere.

Der integrierte Algoritmus zur automatischen ID-Erzeugung ist eigentlich ganz gut.
Bei mehr als einem Ladepunkt funktioniert das Vorgehen so ohnehin nicht mehr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs documentation Triggers issue creation in evcc-io/docs
Projects
None yet
Development

No branches or pull requests

2 participants