Hi,
ok - richtig - mein Fehler - ich habe beim kopieren die Inhalte Modbus und Rest vertauscht.
Hier noch mal die komplette Konfiguration:
Folgender Quelltext muss heißen: rest_integration.yaml (und nicht modbus.yaml).
- resource: "http://*die IP Deiner Fenecon-Anlage*:8084/rest/channel/battery0/(Tower0PackVoltage|Tower0NoOfCycles|Current|Soh)"
username: x
password: user
authentication: basic
scan_interval: 60
sensor:
- value_template: '{{value_json | selectattr("address", "equalto", "battery0/Tower0PackVoltage") | map(attribute="value") | first / 10 }}'
name: "FEMS Batteriespannung"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
unique_id: "fems/battery0/Tower0PackVoltage"
- value_template: '{{value_json | selectattr("address", "equalto", "battery0/Tower0NoOfCycles") | map(attribute="value") | first }}'
name: "FEMS Batterieladezyklen"
state_class: measurement
unique_id: "fems/battery0/Tower0NoOfCycles"
- value_template: '{{value_json | selectattr("address", "equalto", "battery0/Current") | map(attribute="value") | first }}'
name: "FEMS Batteriestrom"
unit_of_measurement: "A"
device_class: current
state_class: measurement
unique_id: "fems/battery0/Current"
- value_template: '{{value_json | selectattr("address", "equalto", "battery0/Soh") | map(attribute="value") | first }}'
name: "FEMS Batterie State of Health"
unit_of_measurement: "%"
state_class: measurement
unique_id: "fems/battery0/Soh"
- resource: "http://*die IP Deiner Fenecon-Anlage*:8084/rest/channel/charger.+/(ActualPower|Voltage|Current|ActualEnergy)"
username: x
password: user
authentication: basic
scan_interval: 20
sensor:
- name: "FEMS PV 2 Leistung"
value_template: '{{value_json | selectattr("address", "equalto", "charger1/ActualPower") | map(attribute="value") | first }}'
unit_of_measurement: "W"
device_class: power
state_class: measurement
unique_id: "fems/charger1/ActualPower"
- value_template: '{{value_json | selectattr("address", "equalto", "charger1/Voltage") | map(attribute="value") | first / 1000 }}'
name: "FEMS PV 2 Spannung"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
unique_id: "fems/charger1/Voltage"
- value_template: '{{value_json | selectattr("address", "equalto", "charger1/Current") | map(attribute="value") | first / 1000 }}'
name: "FEMS PV 2 Strom"
unit_of_measurement: "A"
device_class: current
state_class: measurement
unique_id: "fems/charger1/Current"
- value_template: '{{value_json | selectattr("address", "equalto", "charger1/ActualEnergy") | map(attribute="value") | first }}'
name: "FEMS PV 2 Erzeugung"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
unique_id: "fems/charger1/ActualEnergy"
- value_template: '{{value_json | selectattr("address", "equalto", "charger0/ActualPower") | map(attribute="value") | first }}'
name: "FEMS PV 1 Leistung"
unit_of_measurement: "W"
device_class: power
state_class: measurement
unique_id: "fems/charger0/ActualPower"
- value_template: '{{value_json | selectattr("address", "equalto", "charger0/Voltage") | map(attribute="value") | first / 1000 }}'
name: "FEMS PV 1 Spannung"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
unique_id: "fems/charger0/Voltage"
- value_template: '{{value_json | selectattr("address", "equalto", "charger0/Current") | map(attribute="value") | first / 1000 }}'
name: "FEMS PV 1 Strom"
unit_of_measurement: "A"
device_class: current
state_class: measurement
unique_id: "fems/charger0/Current"
- value_template: '{{value_json | selectattr("address", "equalto", "charger0/ActualEnergy") | map(attribute="value") | first }}'
name: "FEMS PV 1 Erzeugung"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
unique_id: "fems/charger0/ActualEnergy"
Hier wieder die IP der FEMS eintragen.
Du musst dann:
rest: !include rest_integration.yaml
in der configuration.yaml einfügen.
Zusätzlich musst Du:
als Integration installieren.
Modbus geht wie folgt:
Eine Datei “modbus.yaml” mit folgendem Inhalt anlegen:
- name: "fems"
delay: 5
timeout: 5
type: tcp
host: *die IP Deiner Fenecon-Anlage*
port: 502
sensors:
#INT
- name: "FEMS_EssSoc" # Battery SoC
scan_interval: 60
data_type: uint16
input_type: input
device_class: battery
state_class: measurement
unit_of_measurement: "%"
address: 302
slave: 1
unique_id: fems_modbus_302
#FLOAT32
- name: "FEMS_EssActivePower" # Combined Power of PV + Battery
unit_of_measurement: W
scan_interval: 10
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 303
slave: 1
unique_id: fems_modbus_303
- name: "FEMS_GridActivePower" # Grid Power
unit_of_measurement: W
scan_interval: 10
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 315
slave: 1
unique_id: fems_modbus_315
- name: "FEMS_ProductionDcActualPower" # PV Power
unit_of_measurement: W
scan_interval: 10
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 339
slave: 1
unique_id: fems_modbus_339
- name: "FEMS_ConsumptionActivePower" #House Power
unit_of_measurement: W
scan_interval: 10
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 343
slave: 1
unique_id: fems_modbus_343
- name: "FEMS_EssActivePowerL1"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 391
slave: 1
unique_id: fems_modbus_391
- name: "FEMS_EssActivePowerL2"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 393
slave: 1
unique_id: fems_modbus_393
- name: "FEMS_EssActivePowerL3"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 395
slave: 1
unique_id: fems_modbus_395
- name: "FEMS_GridActivePowerL1"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 397
slave: 1
unique_id: fems_modbus_397
- name: "FEMS_GridActivePowerL2"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 399
slave: 1
unique_id: fems_modbus_399
- name: "FEMS_GridActivePowerL3"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 401
slave: 1
unique_id: fems_modbus_401
- name: "FEMS_ConsumptionActivePowerL1"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 409
slave: 1
unique_id: fems_modbus_409
- name: "FEMS_ConsumptionActivePowerL2"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 411
slave: 1
unique_id: fems_modbus_411
- name: "FEMS_ConsumptionActivePowerL3"
unit_of_measurement: W
scan_interval: 20
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 413
slave: 1
unique_id: fems_modbus_413
- name: "FEMS_EssDischargePower" #Battery Discharge Power
unit_of_measurement: W
scan_interval: 5
data_type: float32
input_type: holding
device_class: power
state_class: measurement
address: 415
slave: 1
unique_id: fems_modbus_415
#Energy (Float64)
- name: "FEMS_EssActiveChargeEnergy" #not sure what this is, I think its the Energy the battery has been charged form AC/the Grid, should not be too high, because its normally not possible/allowed (in Germany at least) to charge from the Grid.
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 351
slave: 1
unique_id: fems_modbus_351
- name: "FEMS_EssActiveDischargeEnergy" #not sure what this is, I think its the total amount of Energy the System has put out to AC, so basicially the the amount of PV minus what is currently stored in the battery plus the amount that you have charged from the Grid (so FEMS_EssActiveChargeEnergy), but that is normally not possible, so this is not very useful.
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 355
slave: 1
unique_id: fems_modbus_355
- name: "FEMS_GridBuyActiveEnergy" #Total Consumption from Grid
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 359
slave: 1
unique_id: fems_modbus_359
- name: "FEMS_GridSellActiveEnergy" #Total Energy Sold to Grid
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 363
slave: 1
unique_id: fems_modbus_363
- name: "FEMS_ProductionActiveEnergy" # Total PV Production Energy
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 367
slave: 1
unique_id: fems_modbus_367
- name: "FEMS_ConsumptionActiveEnergy" # Total Energy Usage
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 379
slave: 1
unique_id: fems_modbus_379
- name: "FEMS_EssDcChargeEnergy" # Total Battery Charge Energy
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 383
slave: 1
unique_id: fems_modbus_383
- name: "FEMS_EssDcDischargeEnergy" # Total Battery Discharge Energy
unit_of_measurement: Wh
scan_interval: 60
data_type: float64
input_type: holding
device_class: energy
state_class: total_increasing
address: 387
slave: 1
unique_id: fems_modbus_387
Hier wieder die IP der FEMS eintragen.
Dies dann mit:
modbus: !include modbus.yaml
einbinden.
und:
als Integration installieren.
Dann müsste alles funktionieren.