Ja, schaut gut aus, auch die Sensoren “sensor.varta_input_power” bzw. “sensor.varta_output_power” gibt es, aber irgendwie keine Summen. Da steht immer der gleiche Wert wie in der “sensor.mb_varta_active_power”.
Hab jetzt alles nochmals geprüft, anschließend den gesamten HA neu gestartet. Kann aber immer noch keinen VARTA Speicjher finden. So sieht es aktuell aus. hab ich was falsch verstanden?
- platform: google_translate
# automation: !include automations.yaml
modbus: !include modbus.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# Varta input/output
template:
- sensor:
- name: "Varta Input Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) >= 0 %}
{% set varta_in = states('sensor.mb_varta_active_power') | float(0) %}
{% else %}
{% set varta_in = 0 %}
{% endif %}
{{ varta_in }}
- sensor:
- name: "Varta Output Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
{% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %}
{% else %}
{% set varta_out = 0 %}
{% endif %}
{{ varta_out }}
- platform: integration
source: sensor.varta_input_power
name: varta_input_kwh
unit_prefix: k
round: 2
- platform: integration
source: sensor.varta_output_power
name: varta_output_kwh
unit_prefix: k
round: 2
Ich habe bei mir einfach das Gefühl, dass ich in der configuration.yaml mit den Einrückungen und was unter was stehen muss aufgrund meiner Unwissenheit einfach was falsch ist.
Weil logisch versteh ich das schon was Du machst, auch bei dem mit dem Status, aber irgendwie hat [quote=“Telemanni, post:26, topic:842”]
sensor.varta_input_power
[/quote] und auch output keinen Wert.
Ich habe mal den Varta relevanten Teil aus der configuration.yaml oben ergänzt. Schaut mal ob es mit der Reihenfolge/ Einrücken ein Problem gibt.
Ich blick nicht mehr durch. Kann keine Änderungen finden. Sind jetz soooo viele configs. Bin ratlos und freu mich auf Deine Hilfe
Frag nicht, nach einiger Zeit kommen jetzt doch Werte, ich versuche doch das Script in seiner Logik zu verstehen. Verzeih mir wenn ich weiter frage obwohl es funktioniert, aber das wie für die Zukunft und andere Projekte will ich verstehen.
template:
- sensor:
- name: "Varta Input Power" (hier wird ein Sensorname definiert)
unit_of_measurement: "W" (die Einheit)
state_class: measurement (es ist eine Messklasse)
device_class: power (im Bereich Energie)
state: >
{% if states('sensor.mb_varta_active_power') | float(0) >= 0 %} (Du fragst das Register ab ist der Wertgrößer oder gleich 0) dann....
{% set varta_in = states('sensor.mb_varta_active_power') | float(0) %} (setzt Du in die Variable varta_in (wo kommt die her?) diesen Wert. (Warum wird das ganze in eine Fließkommazahl umgewandelt?)
{% else %}
{% set varta_in = 0 %} (ansonsten setze den Wert auf 0% - wieder diese Variable)
{% endif %}
{{ varta_in }} (Was macht das hier?)
- sensor:
- name: "Varta Output Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) <= 0 %} (das ganz gleich wenn der Wert kleiner 0 ist)
{% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %} (mit dem Unterschied das Ganze mal -1 zu nehmen um einen positiven Wert zu bekommen und das in die Variable varta_out zu schreiben (woher kommt diese? - auch die Frage wenn jetzt der Abfragewert tatsächlich 0 ist, treffen ja Beide Bedingungen zu, ist das Absicht?)
{% else %}
{% set varta_out = 0 %}
{% endif %}
{{ varta_out }}
- platform: integration
source: sensor.varta_input_power
name: varta_input_kwh
unit_prefix: k
round: 2
(So, hier wird das ganze ja anscheinend mit dieser Riemann Integration der Wert in kWh umgerechnet. Woher weiß das System welche Integration? Und noch die viel größere Frage, oben heißt der Sensor "Varta Input Power", jetzt plötzlich klein geschrieben und mit Strichen dazwischen...)
- platform: integration
source: sensor.varta_output_power
name: varta_output_kwh
unit_prefix: k
round: 2
(Das ganz Gleiche für Output - ok, wenn ich das eine kapier, dann das auch.)
Wäre cool wenn Du etwas Schulung machen würdest.
by HarryP: Codezeilen formatiert (bitte über </> einbinden)
Da bist Du ja ein Stück weiter als ich. Bei mir kommen keine Werte. Wo werden denn Deine Werte dargestellt?
…und bei der Schulung schließ ich mich an
Unter Einstellungen → Geräte & Dienste und dort unter den Entitäten suchst Du nach Varta. Da solltest Du auf jeden Fall schon einmal die Sensoren sehen, egal ob mit oder ohne Wert. Diese kamen aber mir von Anfang an, sobald das mit Modbus eingerichtet war. Einzelne Werte kann vielleicht Dein Speicher nicht - vergleich mal ([hier])? Die IP-Adresse Deines Speichers hast Du angepasst? Die IP-Adresse - da dynamisch - hast Du im DHCP Server fest reserviert, damit diese sich nicht ändert? Erst dann würde ich weiter machen mit dem oberen Teil. Gehen wir Schritt für Schritt vor.
Hallo Zusammen,
bin grade dabei mein Varta Neo Pulse per Modbus in HA zu integrieren.
Ich habe mich an eueren Konfigurationen entlanggehnagelt. Ich habe eine modbus.yaml angelegt. Doch bei mir erscheinen Fehler vielleicht könnt ihr mir ja weiterhelfen. Anbei Sende ich euch alles zu. Der erste Screenshot ist wenn ich die Config Prüfe dann kommen warnings. Dann packe och noch meine Modbus mit dabei und die Config.yaml
Bin um jeden Tipp dankabr.
Beste Grüße
by HarryP: Codezeilen als Hardcopy sind wenig hilfreich, bitte über </> einfügen:
tippe oder füge den Code hier ein
Hallo Lucas, ich hab soooo lange versucht und hab es aufgegeben.
Vielleicht gibt es eine Lösung, dann würde ich auch nochmal anfangen.
Hi mittlerweile Empfange ich Daten aus dem Speicher die mir in HA angeziegt werden
Das hört sich ja gut an. Magst Du denn verraten was Du noch geändert hast?
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automations: !include automations.yaml
scripts: !include scripts.yaml
scenes: !include scenes.yaml
#modbus: !include modbus.yaml
# Modbus Varta pulse neo
modbus:
- name: "mb_varta"
type: tcp
host: 192.168.178.218 # replace with your ip of the your varta
port: 502
delay: 1
timeout: 3
retries: 3
retry_on_empty: true
message_wait_milliseconds: 250
sensors:
### EMS Software Version - not for Varta link
- name: mb_varta_EMS
slave: 1
address: 1000
count: 17
data_type: string
precision: 0
scale: 1
### ENS Software Version - not for Varta link
- name: mb_varta_ENS
slave: 1
address: 1017
count: 17
data_type: string
precision: 0
scale: 1
### Software Version - not for Varta link
#- name: mb_varta_software
# slave: 1
#address: 1034
#count: 17
#data_type: string
#precision: 0
#scale: 1
### Table version
- name: mb_varta_table_version
slave: 1
address: 1051
data_type: uint16
precision: 0
scale: 1
### timestamp -- not working
#- name: mb_varta_timestamp
# slave: 1
#address: 1052
#count: 2
#data_type: uint32
#swap: word
#precision: 0
#scale: 1
### Serial Number
- name: mb_varta_serial
slave: 1
address: 1054
count: 10
data_type: string
precision: 0
scale: 1
### Number of Battery Modules installed
- name: mb_varta_installed_batteries
slave: 1
address: 1064
data_type: uint16
precision: 0
scale: 1
### State
- name: mb_varta_state
slave: 1
address: 1065
data_type: uint16
precision: 0
scale: 1
unit_of_measurement: "State"
### Active Power - positive:charge / negative: discharge
- name: mb_varta_active_power
slave: 1
address: 1066
data_type: int16
precision: 0
scale: 1
device_class: power
unit_of_measurement: "W"
### Apparent Power - positive:charge / negative: discharge
- name: mb_varta_apparent_power
slave: 1
address: 1067
data_type: int16
precision: 0
scale: 1
device_class: apparent_power
unit_of_measurement: "VA"
### State of Charge
- name: mb_varta_SOC
slave: 1
address: 1068
data_type: uint16
precision: 0
scale: 1
device_class: battery
unit_of_measurement: "%"
### energy counter AC->DC - not sure if correct
#- name: mb_varta_ACDC
# slave: 1
#address: 1069
#count: 2
#data_type: uint32
#swap: word
#precision: 0
#scale: 1
#device_class: energy
#unit_of_measurement: "Wh"
#state_class: total_increasing
### Installed capacity
- name: mb_varta_capacity
slave: 1
address: 1071
data_type: uint16
precision: 0
scale: 10
device_class: energy
unit_of_measurement: "Wh"
### Grid Power
- name: mb_varta_grid_power
slave: 1
address: 1078
data_type: int16
precision: 0
scale: 1
device_class: power
unit_of_measurement: "W"
sensor:
- platform: template
sensors:
mb_varta_status:
friendly_name: "Varta Pulse Neo Status"
value_template: >-
{% set mapper = {
'0' : 'Busy',
'1' : 'Run',
'2' : 'Charge',
'3' : 'Discharge',
'4' : 'Standby',
'5' : 'Error',
'6' : 'Service',
'7' : 'Islanding' } %}
{% set state = states.sensor.mb_varta_state.state %}
{{ mapper[state] if state in mapper else 'Unknown' }}
# Varta input/output
template:
- sensor:
- name: "Varta Input Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) >= 0 %}
{% set varta_in = states('sensor.mb_varta_active_power') | float(0) %}
{% else %}
{% set varta_in = 0 %}
{% endif %}
{{ varta_in }}
- sensor:
- name: "Varta Output Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
{% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %}
{% else %}
{% set varta_out = 0 %}
{% endif %}
{{ varta_out }}
- platform: integration
source: sensor.varta_input_power
name: varta_input_kwh
unit_prefix: k
round: 2
- platform: integration
source: sensor.varta_output_power
name: varta_output_kwh
unit_prefix: k
round: 2
Da beigefügte Code steht in meiner configuartion.yaml
by HarryP: Codezeilen formatiert (bitte immer über </> einfügen)
Hallo, wie komme ich zu diesem Sensorwert?
sensor.mb_varta_discharging_energy
Hallo Mx4,
das ist bei mir in der modus.yaml definiert:
### Entladeenergie
- name: mb_varta_discharging_energy
slave: 255
address: 1086
data_type: uint16
device_class: energy
unit_of_measurement: "Wh"
Bei mir hat die Integration mit einer Kombination der Vorschläge von oben über “modus.yaml” und dann der Einschluss davon über die “configuration.yaml” funktioniert. Es werden alle Daten der VARTA-Batterie angezeigt und lassen sich auch nachvollziehen /-prüfen.
Ich poste die Kombination hier mal. Vielleicht hilft das dem ein oder anderen, da man das dann nicht über einige Post zusammen suchen und ausprobieren muss.
modbus.yaml - Achtung: IP-Adresse der Batterie noch eintragen!
### Varta Integration
- name: mb_varta
type: tcp
host: IP-Adresse der Batterie
port: 502
delay: 1
timeout: 3
message_wait_milliseconds: 1000
sensors:
### EMS Software Version - not for Varta link
- name: mb_varta_EMS
slave: 255
address: 1000
count: 17
data_type: string
### ENS Software Version - not for Varta link
- name: mb_varta_ENS
slave: 255
address: 1017
count: 17
data_type: string
### Software Version - not for Varta link
- name: mb_varta_software
slave: 255
address: 1034
count: 17
data_type: string
### Table version
- name: mb_varta_table_version
slave: 255
address: 1051
data_type: uint16
### timestamp
- name: mb_varta_timestamp_lower
slave: 255
address: 1052
data_type: uint16
### timestamp
- name: mb_varta_timestamp_higher
slave: 255
address: 1053
data_type: uint16
### Serial Number
- name: mb_varta_serial
slave: 255
address: 1054
count: 10
data_type: string
### Number of Battery Modules installed
- name: mb_varta_installed_batteries
slave: 255
address: 1064
data_type: uint16
### State
- name: mb_varta_state
slave: 255
address: 1065
data_type: uint16
unit_of_measurement: "State"
### Active Power - positive:charge / negative: discharge
- name: mb_varta_active_power
slave: 255
address: 1066
data_type: int16
device_class: power
unit_of_measurement: "W"
### Apparent Power - positive:charge / negative: discharge
- name: mb_varta_apparent_power
slave: 255
address: 1067
data_type: int16
device_class: apparent_power
unit_of_measurement: "VA"
### State of Charge
- name: mb_varta_SOC
slave: 255
address: 1068
data_type: uint16
device_class: battery
unit_of_measurement: "%"
### Energy Counter lower word
- name: mb_varta_energy_low
slave: 255
address: 1069
data_type: uint16
state_class: total_increasing
device_class: energy
unit_of_measurement: "Wh"
### Energy Counter higher word
- name: mb_varta_energy_high
slave: 255
address: 1070
data_type: uint16
state_class: total_increasing
device_class: energy
unit_of_measurement: "Wh"
### Installed capacity
- name: mb_varta_capacity
slave: 255
address: 1071
data_type: uint16
scale: 10
device_class: energy
unit_of_measurement: "Wh"
### Grid Power
- name: mb_varta_grid_power
slave: 255
address: 1078
data_type: int16
device_class: power
unit_of_measurement: "W"
### Ladeenergie
- name: mb_varta_charging_energy
slave: 255
address: 1085
data_type: uint16
device_class: energy
unit_of_measurement: "Wh"
### Entladeenergie
- name: mb_varta_discharging_energy
slave: 255
address: 1086
data_type: uint16
device_class: energy
unit_of_measurement: "Wh"
configuration.yaml - Teil für VARTA
modbus: !include modbus.yaml
# Varta input/output
template:
- sensor:
- name: "Varta Input Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) >= 0 %}
{% set varta_in = states('sensor.mb_varta_active_power') | float(0) %}
{% else %}
{% set varta_in = 0 %}
{% endif %}
{{ varta_in }}
- sensor:
- name: "Varta Output Power"
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >
{% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
{% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %}
{% else %}
{% set varta_out = 0 %}
{% endif %}
{{ varta_out }}
- sensor:
- name: "Varta Energy"
unique_id: "mb_varta_energy_total"
device_class: energy
state_class: total_increasing
unit_of_measurement: "KWh"
state: >
{{ (((float(states('sensor.mb_varta_energy_high'))) * 65536) +(float(states('sensor.mb_varta_energy_low')))) / 1000 | round (0) }}
# Varta Discharging Time KWh
- sensor:
- name: "Varta Discharging Time"
unique_id: "mb_varta_discharging_time"
device_class: duration
state_class: measurement
unit_of_measurement: "h"
state: >
{{ ((float(states('sensor.mb_varta_discharging_energy'))) / 1000) / ((float(states('sensor.mb_varta_active_power'))) / 1000 * -1) }}
# Varta Charging Time KWh
- name: "Varta Charging Time"
unique_id: "mb_varta_charging_time"
device_class: duration
state_class: measurement
unit_of_measurement: "h"
state: >
{{ ((float(states('sensor.mb_varta_charging_energy'))) / 1000) / ((float(states('sensor.mb_varta_active_power'))) / 1000) }}
sensor:
- platform: template
sensors:
mb_varta_status:
friendly_name: "Varta Status"
value_template: >-
{% set mapper = {
'0' : 'Busy',
'1' : 'Run',
'2' : 'Charge',
'3' : 'Discharge',
'4' : 'Standby',
'5' : 'Error',
'6' : 'Service',
'7' : 'Islanding' } %}
{% set state = states.sensor.mb_varta_state.state %}
{{ mapper[state] if state in mapper else 'unknown' }}
- platform: integration
source: sensor.varta_input_power
name: varta_input_kwh
unit_prefix: k
round: 2
- platform: integration
source: sensor.varta_output_power
name: varta_output_kwh
unit_prefix: k
round: 2
Lediglich Input und Output aus der Batterie werden nicht wirklich korrekt ermittelt. Im Monat Mai habe ich 341 kWh Batterieenergie verbraucht, aber nur 269 kWh eingespeichert. Batteriegröße aber nur ca. 6 kWh.
Jemand eine Idee woran das liegen könnte?
by HarryP: Zusammenführung Doppelpost (bitte „bearbeiten“ Funktion nutzen)
Danke, mein Varta element backup Speicher stellt leider keine discharging energy zur Verfügung wie ich feststellen musste:
https://library.loxone.com/detail/varta-energy-storage-77/overview
Vielen Dank, es hat tatsächlich funktioniert! Im Energie Dashboard ist der VARTA Speicher.
Da wird angezeigt was rein und raus geladen wird. Kann man auch den Füllstand der Batterieen anzeigen?
Sehr gut!
Den Füllstand der Batterien lasse ich mir im Dashboard über die Entität “mb_VARTA_SOC” anzeigen.
Fast alle Werte sind bei mir plausibel bzw. lassen sich mit der VARTA-App abgleichen. Lediglich der Input und Output passt sind so richtig. Der Output ist in Summe höher als der Input und das über einen Monat kumuliert über 70 kWh. Ich kann an der Ermittlung / Umrechnung aber auch keinen Fehler erkennen. Vielleicht findest Du noch was…
Pima, hab ich so gemacht, klappt gut. DANKE