enbility / eebus-go

EEBUS protocol implementation in go
https://enbility.net
MIT License
52 stars 14 forks source link

Do not only hardwire features to specific functions #45

Closed DerAndereAndi closed 1 year ago

DerAndereAndi commented 1 year ago

Especially the generic feature is used for pretty much anything, even if there is a specific feature assigned to a function in a spec. E.g. the Elli EVSE uses the Generic feature for FunctionTypeDeviceDiagnosisHeartbeatData, even though the spec defines them in the context of the feature DeviceDiagnosis.

Right now the FunctionTypeDeviceDiagnosisHeartbeatData is added to Generic, but this may be endless and would require adding more and updating this library just because some usages come up with more fancy ideas like this.

That's why it is probably better to be able to use any function with any feature. sigh

DerAndereAndi commented 1 year ago

Another example is the Vaillant Arotherm heatpump which puts everything into a single Generic feature and doesn't list any supported functions either.

DerAndereAndi commented 1 year ago

The fix will assign every function to data mapping to the Generic feature in addition