evcc-io/templates/definition/charger/emsesp.yaml
2025-06-14 17:32:44 +00:00

124 lines
3.1 KiB
YAML

template: emsesp
products:
- brand: Buderus
description:
generic: SG Ready
- brand: Bosch
description:
generic: SG Ready
- brand: Junkers
description:
generic: SG Ready
group: heating
requirements:
description:
de: "Eingebunden via [EMSESP](https://emsesp.org/)"
en: "Integrated via [EMSESP](https://emsesp.org/)"
# evcc: ["sponsorship"]
params:
- name: host
- name: token
- name: powersource
type: choice
choice: ["hpcurrpower", "hppower"]
description:
de: "Leistungsquelle"
en: "Power source"
default: hpcurrpower
- name: tempsource
type: choice
choice: ["warmwater"]
render: |
type: sgready
power:
source: http
uri: http://{{ .host }}/api/boiler/{{ .powersource }}
jq: .value // 0
{{- if eq .powersource "hppower" }}
scale: 1000
{{- end}}
getmode:
source: go
script: |
res := 2 // 0/0 Normal
switch {
case SG1 == "1" && SG4 == "0": res = 1 // 1/0 Frostschutz
case SG4 == "1": res = 3 // x/1 Forcierter Betrieb/Sofortige Ansteuerung
}
res
in:
- name: SG1
type: string
config:
source: http
uri: http://{{ .host }}/api/boiler/hpin1opt
jq: '.value[0:1]'
- name: SG4
type: string
config:
source: http
uri: http://{{ .host }}/api/boiler/hpin4opt
jq: '.value[0:1]'
setmode:
source: switch
switch:
- case: 2 # normal
set:
source: sequence
set:
- source: http
uri: http://{{ .host }}/api/boiler/hpin4opt
method: POST
headers:
- content-type: application/json
- authorization: Bearer {{ .token}}
body: >
{ "value" : "0xxxxxxxxxxx" }
- source: http
uri: http://{{ .host }}/api/boiler/hpin1opt
method: POST
headers:
- content-type: application/json
- authorization: Bearer {{ .token}}
body: >
{ "value" : "0xxxxxxxxxxxxxx" }
- case: 3 # boost
set:
source: http
uri: http://{{ .host }}/api/boiler/hpin4opt
method: POST
headers:
- content-type: application/json
- authorization: Bearer {{ .token}}
body: >
{ "value" : "1xxxxxxxxxxx" }
- case: 1 # dimm
set:
source: sequence
set:
- source: http
uri: http://{{ .host }}/api/boiler/hpin1opt
method: POST
headers:
- content-type: application/json
- authorization: Bearer {{ .token}}
body: >
{ "value" : "1xxxxxxxxxxxxxx" }
- source: http
uri: http://{{ .host }}/api/boiler/hpin4opt
method: POST
headers:
- content-type: application/json
- authorization: Bearer {{ .token}}
body: >
{ "value" : "0xxxxxxxxxxx" }
{{- if .tempsource }}
temp:
source: http
uri: http://{{ .host }}/api/boiler/dhw/curtemp
jq: .value
limittemp:
source: http
uri: http://{{ .host }}/api/boiler/dhw/settemp
jq: .value
{{- end }}