Al3xand3R360 schreef op donderdag 24 juli 2025 @ 10:26:
[...]
Hi Beekc1,
Zou je de Home Assistant config voor de afzonderlijke SoC sensoren willen delen?
Ik zou graag een zelfde grafiek willen maken om bij mij ook eens te monitoren. Ik zie ook wel verschilnamelijk. Mijn batterij komt doorgaans niet boven de 94% uit waarbij BAT00 dan 98% vol is en BAT01 90%. BAT01 heeft ook net iets meer cycles dan BAT00.
Thanks!
Hoi @
Al3xand3R360,
Ik heb methode van een van onze Zweedse vrienden gebuikt. Methode staat beschreven in deze
link gebruikt.
Stond mij bij dat in dat zelfde topic er ook een Engelse vertaling was geplaatst. Die kan ik nu niet meer vinden.
Hele stukje over secrets file heb ik overgeslagen.
Wel heb ik de regel over packages toegevoegd aan mijn configuration.yaml file.
code:
1
2
3
| homeassistant:
customize: !include customize.yaml
packages: !include_dir_named packages |
En heb ik packages directory aangemaakt met daarin een nieuwe file genaamd homevolt.yaml.
In deze directory dus: /homeassistant/packages/homevolt.yaml
Hieronder de code (Engels ipv Zweeds) die ik in nu in mijn homevolt.yaml file heb staan.
Vergeet niet je IP-adres bij de "x.xxx" aan te passen aan jouw situatie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
| ### Homevolt package
# updated 2025-02-17
# Uses nordpool integration for the sensor:
# sensor.nordpool_kwh_se3_sek_3_095
# in the template: part
# ------------------------------------------------ #
# REST integration
rest:
- resource: "http:// 192.168.x.xxx/status.json"
scan_interval: 300
timeout: 30
sensor:
- name: "Homevolt status"
value_template: "{{ value_json.uptime }}"
icon: "mdi:battery-clock"
json_attributes:
- uptime
- wifi_status
- lte_status
- mqtt_status
- w868_status
- ems_status
- name: "Homevolt LTE cellid"
value_template: >-
{{ (value_json.lte_status.cell_id) | replace('"','') }}
- resource: "http://192.168. .x.xxx /ems.json"
scan_interval: 60
sensor:
- name: "Homevolt EMS"
value_template: "{{ value_json.ems[0].ems_data.state_str }}"
json_attributes:
- ems
- aggregated
- sensors
- name: "Homevolt EMS error"
value_template: "{{ (value_json.ems[0].error_str)[:255] }}"
icon: "mdi:battery-unknown"
json_attributes_path: "$.ems[0]"
json_attributes:
- error_str
- name: "Homevolt EMS warning" # translated from varning
value_template: "{{ (value_json.ems[0].ems_data.warning_str | join(', ') | replace('_', '') | capitalize)[:255] }}"
icon: "mdi:battery-unknown"
json_attributes_path: "$.ems[0].ems_data"
json_attributes:
- warning_str
- name: "Homevolt EMS info"
value_template: "{{ (value_json.ems[0].ems_data.info_str | join(', ') | replace('_', '') | capitalize)[:255] }}"
icon: "mdi:battery-unknown"
json_attributes_path: "$.ems[0].ems_data"
json_attributes:
- info_str
- name: "Homevolt temperature" # translated from temperatur
value_template: "{{ value_json.ems[0].ems_data.sys_temp /100 }}"
icon: "mdi:battery-heart-variant"
unit_of_measurement: "°C"
device_class: temperature
- name: "Homevolt voltage L1" # translated from spänning L1
value_template: "{{ value_json.ems[0].ems_voltage.l1 /10 }}"
unit_of_measurement: "V"
icon: "mdi:meter-electric-outline"
device_class: voltage
- name: "Homevolt frequency"
value_template: "{{ value_json.ems[0].ems_data.frequency /1000 }}"
unit_of_measurement: "Hz"
icon: "mdi:meter-electric-outline"
device_class: frequency
- name: "Homevolt power" # translated from effekt
value_template: "{{ value_json.ems[0].ems_data.power }}"
unit_of_measurement: "W"
icon: "mdi:battery-sync-outline"
device_class: power
- name: "Homevolt energy produced" # translated from energi producerat
value_template: "{{ value_json.ems[0].ems_data.energy_produced /1000 }}"
unit_of_measurement: "kW"
icon: "mdi:battery-positive"
device_class: power
- name: "Homevolt energy consumed" # translated from energi konsumerat
value_template: "{{ value_json.ems[0].ems_data.energy_consumed /1000 }}"
unit_of_measurement: "kW"
icon: "mdi:battery-negative"
device_class: power
- name: "Homevolt available power" # translated from effekt tillgänglig
value_template: >-
(value_json.ems[0].ems_prediction.avail_ch_pwr) -
(value_json.ems[0].ems_prediction.avail_di_pwr)
}}
unit_of_measurement: "kW"
icon: "mdi:battery-negative"
device_class: power
json_attributes_path: "$.ems[0].ems_prediction"
json_attributes:
- avail_ch_pwr
- avail_di_pwr
- name: "Homevolt exported" # translated from producerat
value_template: "{{ value_json.ems[0].ems_aggregate.exported_kwh }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-positive"
device_class: energy
state_class: total
- name: "Homevolt imported" # translated from konsumerat
value_template: "{{ value_json.ems[0].ems_aggregate.imported_kwh }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- name: "Homevolt net usage" # translated from sum
value_template: >-
{{ value_json.ems[0].ems_aggregate.imported_kwh -
value_json.ems[0].ems_aggregate.exported_kwh }}
unit_of_measurement: "kWh"
icon: "mdi:battery"
device_class: energy
state_class: measurement
- name: "Homevolt battery 0" # translated from bat0
value_template: "{{ float(value_json.ems[0].bms_data[0].soc)/100 }}"
unit_of_measurement: "%"
icon: "mdi:battery-{{ float(value_json.ems[0].bms_data[1].soc)/100 | round(-1) }}"
- name: "Homevolt battery 1" # translated from bat1
value_template: "{{ float(value_json.ems[0].bms_data[1].soc)/100 }}"
unit_of_measurement: "%"
icon: "mdi:battery-{{ float(value_json.ems[0].bms_data[1].soc)/100 | round(-1) }}"
- name: "Homevolt battery 0 charge cycles" # translated from bat0 laddningar
value_template: "{{ value_json.ems[0].bms_data[0].cycle_count }}"
icon: "mdi:battery"
# Pulse CT
- name: "Homevolt grid power" # translated from näteffekt
value_template: "{{ value_json.sensors[0].total_power }}"
unit_of_measurement: "W"
icon: "mdi:battery-negative"
device_class: power
state_class: measurement
json_attributes_path: "$.sensors.[0].phase"
json_attributes:
- "0"
- "1"
- "2"
- name: "Homevolt grid imported" # translated from nät konsumerat
value_template: "{{ value_json.sensors[0].energy_imported }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- name: "Homevolt grid exported" # translated from nät producerat
value_template: "{{ value_json.sensors[0].energy_exported }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- name: "Homevolt solar power" # translated from solar
value_template: "{{ value_json.sensors[1].total_power }}"
unit_of_measurement: "W"
icon: "mdi:battery-negative"
device_class: power
state_class: measurement
json_attributes_path: "$.sensors[1].phase"
json_attributes:
- 0
- 1
- 2
- name: "Homevolt solar imported" # translated from solcell konsumerat
value_template: "{{ value_json.sensors[1].energy_imported }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- name: "Homevolt solar exported" # translated from solcell producerat
value_template: "{{ value_json.sensors[1].energy_exported }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- name: "Homevolt load" # translated from belastning
value_template: "{{ value_json.sensors[2].total_power }}"
unit_of_measurement: "W"
icon: "mdi:battery-negative"
device_class: power
state_class: measurement
json_attributes_path: "$.sensors.[2].phase"
json_attributes:
- 0
- 1
- 2
- name: "Homevolt battery imported" # translated from batteri konsumerat
value_template: "{{ value_json.sensors[2].energy_imported }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- name: "Homevolt battery exported" # translated from batteri producerat
value_template: "{{ value_json.sensors[2].energy_exported }}"
unit_of_measurement: "kWh"
icon: "mdi:battery-negative"
device_class: energy
state_class: total
- resource: "http://192.168. .x.xxx /error_report.json"
scan_interval: 300
sensor:
- name: "Homevolt error"
value_template: "{{ value_json[0].details | list }}"
icon: "mdi:battery-alert-variant-outline"
json_attributes:
- "0"
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
- "9"
- "10"
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- resource: "http://192.168. x.xxx /schedule.json"
scan_interval: 1800
sensor:
- name: "Homevolt schedules" # translated from scheman
value_template: "{{ value_json.schedule | count }}"
icon: "mdi:calendar-clock-outline"
json_attributes:
- local_mode
- schedule
- schedule_id
- name: "Homevolt schedule" # translated from schema
value_template: >-
{{ value_json.schedule | rejectattr('from', '>', (now().timestamp())) | rejectattr('to', '<', (now().timestamp())) | map(attribute='type') |
join(',') |
replace('1', 'Charging') | replace('3', 'Idle') | replace('4', 'Grid Discharge')
}}
icon: "mdi:calendar-clock-outline"
# ------------------------------------------------ #
# Template integration
template:
- sensor:
name: "Homevolt instant cost" # translated from kostnad momentant
unit_of_measurement: "SEK"
state: >-
{{ (states('sensor.nordpool_kwh_nl_eur_3_10_009') | float(0) * (states('sensor.homevolt_power') | float(0))/1000) | round(2) }}
device_class: monetary
state_class: measurement
icon: "mdi:cash"
# ------------------------------------------------ #
# Sensor integration
sensor:
- platform: integration
source: sensor.homevolt_cost
name: Homevolt cost # translated from kostnad
unit_time: h
method: left
round: 2 |
Voor goede orde:
Ik ben maar een amateur die met kopieren plakken, opnieuw proberen, etc, mijn zaken in home assistant voor elkaar probeer te krijgen. Hoe code in elkaar zit kan ik maar ten dele volgen. Dus als het niet werk, weet ik niet of ik je verder kan helpen.