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

Energy meters solely for logging #15049

Merged
merged 6 commits into from
Aug 10, 2024

Conversation

Herbert23
Copy link
Contributor

Added the support for Energymeters that are solely used for logging purposes. Not supported to be shown in the UI for now, but gets published to e.g. MQTT

@andig andig added the needs decision Unsure if we should really do this label Jul 27, 2024
@andig andig added the enhancement New feature or request label Jul 27, 2024
@premultiply
Copy link
Member

Fällt uns noch ein besserer Name ein?

@naltatis
Copy link
Member

Wie würden wir denn hier mit usage umgehen? In evcc configure und Config UI ergibt sich die Usage aus dem Kontext in dem man das Meter konfiguriert (für einen Charger, für Batterie, ...). Würden wir hier Wildcard + Nutzer muss auswählen ob grid, pv, charge, battery, aux gewünscht ist? Oder nen neuen Usage-Typen einführen?

@Herbert23 Was ist denn dein genauer Anwendungsfall?

@Herbert23
Copy link
Contributor Author

Unser Anwendungsfall sind eben Energiemeter, die nur ausgelesen werden und z.B. über MQTT ausgegeben werden und in keiner Regelung oder Steuerung genutzt werden.
Zum Beispiel: Verbrauch eines Teils des Hauses, für private Systeme natürlich schwerer anwendbar als für größere Firmen-/Hotelgebäude

@andig
Copy link
Member

andig commented Jul 29, 2024

Das wären dann ja „monitor(ing)“ Zähler. Dafür käme jeder Typ bzw jede Usage in Frage?

@Herbert23
Copy link
Contributor Author

Monitoring ist auf alle Fälle mal ne bessere Benennung mMn.

Usage müsste egal sein, solange es der richtigen Ref-Liste zugeordnet wird

@naltatis
Copy link
Member

naltatis commented Jul 29, 2024

Bzgl. Publishing könnten wir auch überlegen einfach "alle" Meter als Map unter meters zu publishen. Analog zu dem vehicles Struktur, die wir ja bereits angefangen (aber noch nicht endausgebaut) haben.

Bildschirmfoto 2024-07-29 um 10 13 34

Das wäre etwas redundant, da ja pv und battery bereits auf Top-Level existiert, von der Struktur her aber schöner als Top-Level logging oder monitoring zu etablieren.

@Herbert23
Copy link
Contributor Author

Ich habe es nun gerade testweise so umgesetzt, dass es wie folgt aussieht
image
Hier ist nun natürlich extrem schwer zuzuordnen, welches Meter welches ist.
Möglichkeit 1: Man erweitert den Namen "meter_x" um die Quelle, z.B. "meter_pv_x"
Möglichkeit 2: Man fügt den structs ein weiteres Feld hinzu und schreibt entweder die Quelle oder die ID aus den REF-Listen hinein.

Welche Möglichkeit würde euch besser gefallen? Oder habt ihr noch eine weitere Idee?

@naltatis
Copy link
Member

naltatis commented Jul 30, 2024

Möglichkeit 2: Man fügt den structs ein weiteres Feld hinzu und schreibt entweder die Quelle oder die ID aus den REF-Listen hinein.

Alle Devices (Vehicle, Meter, ...) haben einen eindeutigen name. Den sollten wir immer verwenden. Mein Screenshot mit den Fahrzeugen ist mit dem demo.yaml gemacht. Da heißen die Fahrzeuge vehicle_1, ...

Dieser name ist auch innerhalb der Meter eindeutig (bzw. muss er sein). Meter die über Config UI angelegt wurden haben da dann db:<id> drin stehen.

@Herbert23
Copy link
Contributor Author

Die Frage die sich mir dazu stellt ist, ist es ausreichend die Namen aus den Ref Listen der Site zu nehmen oder sollte die Meter API um einen Getter für den Namen erweitert werden?

@andig
Copy link
Member

andig commented Aug 3, 2024

As discussed:

  • agreed ext meters, publish similar to circuits.

Separate PR (based on #15216):

  • change site.batteryMeters etc to map[ref<string>]api.Meter
  • move publishing meters to single global key

@andig andig removed the needs decision Unsure if we should really do this label Aug 3, 2024
@andig andig marked this pull request as draft August 3, 2024 10:54
@andig
Copy link
Member

andig commented Aug 3, 2024

@Herbert23 do you want to grab #15216 as proposal and start the publishing part from there?

@Herbert23
Copy link
Contributor Author

@andig yeah, that seems to be a good starting point.

Should i change gridMeters to a map too, for consistency reasons?

@andig
Copy link
Member

andig commented Aug 5, 2024

gridMeters

Can only ever be a single meter?

@Herbert23
Copy link
Contributor Author

that is true, but nevertheless it would be
pubmm[site.Meters.GridMeterRef] = mm
instead of a foreach over one map entry and using "ref" like with the other meter

@andig
Copy link
Member

andig commented Aug 5, 2024

Ah, yes. For publishing that's true.

commenting changes

Co-authored-by: andig <[email protected]>
@Herbert23 Herbert23 marked this pull request as ready for review August 9, 2024 11:13
@andig andig merged commit e631aad into evcc-io:master Aug 10, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants