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

Shelly 1PM pv meter template #3227

Merged
merged 6 commits into from
Apr 27, 2022
Merged

Conversation

thierolm
Copy link
Contributor

@thierolm thierolm commented Apr 24, 2022

Shelly 1PM pv meter template to integrate pv power of e.g. balcony solar installations.

Sample evcc configure output:

thierolm@accffmmt:~/evcc$ ./evcc configure
[main  ] INFO 2022/04/24 14:28:54 evcc 0.90 (4ab3d7fb)

Die nächsten Schritte führen durch die Einrichtung einer Konfigurationsdatei für evcc.
Beachte dass dieser Prozess nicht alle möglichen Szenarien berücksichtigen kann.
Durch Drücken von CTRL-C kann der Prozess abgebrochen werden.

ACHTUNG: Diese Funktionalität hat experimentellen Status!
  D.h. es kann möglich sein, dass die hiermit erstellte Konfigurationsdatei
  in einem Update nicht mehr funktionieren könnte und neu erzeugt werden müsste.
  Wir freuen uns auf euer Feedback auf https://github.com/evcc-io/evcc/discussions/

Auf geht`s:

 In welchem Modus soll die Konfiguration durchgeführt werden? Fortgeschrittener Modus (Detailliertere Fragen, erfordert jedoch technisches Know-How)

 Was möchtest du machen? Ein einzelnes Gerät konfigurieren (muss manuell in eine Konfigurationsdatei eingetragen werden!)

- Ein Gerät konfigurieren

Wähle eines der folgenden Gerätekategorien aus

 Wähle eines der folgenden Gerätekategorien aus PV Wechselrichter (oder entsprechender Stromzähler)

- Konfiguration PV Wechselrichter (oder entsprechender Stromzähler)

 Wähle einen PV Wechselrichter (oder entsprechender Stromzähler): Shelly 1PM [Steckdosen]

Führe folgende Einstellungen durch:

 IP-Adresse oder Hostname 192.168.178.105
 Benutzerkonto admin
 Passwort [? for help] ********************************

Teste die pv Konfiguration von Shelly 1PM [Steckdosen] ...

Shelly 1PM [Steckdosen] Shelly 1PM [Steckdosen] wurde erfolgreich hinzugefügt.

Die Konfiguration lautet:

  type: template
  template: shelly-1pm 
  usage: pv  
  host: 192.168.178.105  
  user: admin  
  password: xxxxxxxx
  name: pv1

Sample evcc meter output with above configuration:

thierolm@accffmmt:~/evcc$ ./evcc -l debug meter
[main  ] INFO 2022/04/24 14:30:47 evcc 0.90 (4ab3d7fb)
[main  ] INFO 2022/04/24 14:30:47 using config file /etc/evcc.yaml
pv1
---------
Power:  56W
Energy: 145.0kWh

@andig
Copy link
Member

andig commented Apr 26, 2022

Could this be coalesced with the existing Shelly template(s)?

@andig andig added the enhancement New feature or request label Apr 26, 2022
@thierolm
Copy link
Contributor Author

Could this be coalesced with the existing Shelly template(s)?

Das bestehende Meter shelly-3em.yaml lässt sich nicht auf den Shelly-1PM erweitern. Der 3EM liefert im JSON für die gemessenen Werte ein (etwas) anderes Object emeter als der 1PM meter.

Wenn du mir einen Tip gibst, wie ich unter products.brand unterschiedliche Typen/Models (3EM, 1PM) zur Auswahl definieren kann, über die ich dann im Template differenzieren kann ...

Habs gerade mit der yaml unten probiert, aber choices werden unter params offensichtlich nicht unterstützt. :-(

template: shelly
products:
  - brand: Shelly
    description:
      generic: 3EM + 1PM
group: sockets
params:
  - name: model
    choice: ["3EM", "1PM"]
    required: true
  - name: usage
    choice: ["grid", "pv", "charge"]
  - name: host
  - name: user
    required: false
  - name: password
    required: false
    mask: true

...

@thierolm
Copy link
Contributor Author

Hi @andig ,
wir könnten das folgende "gemergete" Meter shelly.yaml definieren, allerdings muss ich noch schauen, wie ich eine wirkliche Auswahl Pickliste für den Model Paramter definiere ...

template: shelly
products:
  - brand: Shelly
    description:
      generic: 3EM + 1PM
group: sockets
params:
  - name: model
    choice: ["3EM", "1PM"]
    required: true
    help:
      en: Please select model 3EM or 1PM
      de: Wähle 3EM oder 1PM 
  - name: usage
    choice: ["grid", "pv", "charge"]
  - name: host
  - name: user
    required: false
  - name: password
    required: false
    mask: true
render: |
  type: custom
  power:
    source: http
    uri: http://{{ if ne .user "" }}{{ .user }}:{{ .password }}@{{ end }}{{ .host }}/status
    jq: {{ if eq .model "1PM" }}.meters{{ else }}.emeters{{ end }} | map(.power) | add
  {{if eq .usage "grid" -}}
  energy:
    source: http
    uri: http://{{ if ne .user "" }}{{ .user }}:{{ .password }}@{{ end }}{{ .host }}/status
    jq: {{ if eq .model "1PM" }}.meters{{ else }}.emeters{{ end }} | map(.total) | add
    scale: {{ if eq .model "1PM" }}0.0000166666666666667{{ else }}0.001{{ end }}
  {{ end -}}
  {{if and (eq .model "3EM") (ne .usage "pv") -}}
  currents:
  - source: http
    uri: http://{{ if ne .user "" }}{{ .user }}:{{ .password }}@{{ end }}{{ .host }}/emeter/0
    jq: .current
  - source: http
    uri: http://{{ if ne .user "" }}{{ .user }}:{{ .password }}@{{ end }}{{ .host }}/emeter/1
    jq: .current
  - source: http
    uri: http://{{ if ne .user "" }}{{ .user }}:{{ .password }}@{{ end }}{{ .host }}/emeter/2
    jq: .current
  {{ end -}}

@andig
Copy link
Member

andig commented Apr 27, 2022

@thierolm wir lassen es wie es ist. Modell über Choice zu machen erzeugt dann eine komische Doku. Danke fürs rein schauen.

@andig andig merged commit 7adb242 into evcc-io:master Apr 27, 2022
@thierolm thierolm deleted the templates/shelly-meter branch April 27, 2022 12:59
dontbyte pushed a commit to dontbyte/evcc that referenced this pull request Aug 2, 2022
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.

2 participants