Merkwürdigerweise exportieren nicht alle Schnittstellen am Fenecon Home die gleichen Informationen. Die Rest-API hat mehr als Modbus, ist aber leider nur unvollständig dokumentiert. Die internen Temperaturen, die Netzfrequenz oder die Alterung der Batterie z.B. scheint es nur über Rest zu geben. Home Assistant kann Rest von Haus aus:
- resource: "http://192.168.0.123:8084/rest/channel/meter0/(Frequency)“
username: x
password: user
authentication: basic
scan_interval: 60
sensor:
- value_template: '{{value_json | selectattr("address", "equalto", "meter0/Frequency") | map(attribute="value") | first }}‘
name: "FEMS Netzfrequenz“
unit_of_measurement: „Hz“
device_class: Frequency
state_class: measurement
unique_id: "fems/meter0/frequency“
- resource: "http://192.168.0.123:8084/rest/channel/battery0/(Tower0PackVoltage|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/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: „%“
#device_class: current
state_class: measurement
unique_id: "fems/battery0/Soh“
- resource: "http://192.168.0.123: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“
- resource: "http://192.168.0.123:8084/rest/channel/batteryInverter0/(AirTemperature|BmsPackTemperature|RadiatorTemperature)“
username: x
password: user
authentication: basic
scan_interval: 60
sensor:
- value_template: '{{value_json | selectattr("address", "equalto", "batteryInverter0/AirTemperature") | map(attribute="value") | first }}‘
name: "FEMS batteryInverter0/AirTemperature“
unit_of_measurement: „°C“
device_class: temperature
state_class: measurement
unique_id: "fems/batteryInverter0/AirTemperature“
- value_template: '{{value_json | selectattr("address", "equalto", "batteryInverter0/BmsPackTemperature") | map(attribute="value") | first }}‘
name: "FEMS batteryInverter0/BmsPackTemperature“
unit_of_measurement: „°C“
device_class: temperature
state_class: measurement
unique_id: "fems/batteryInverter0/BmsPackTemperature“
- value_template: '{{value_json | selectattr("address", "equalto", "batteryInverter0/RadiatorTemperature") | map(attribute="value") | first }}‘
name: "FEMS batteryInverter0/RadiatorTemperature“
unit_of_measurement: „°C“
device_class: temperature
state_class: measurement
unique_id: "fems/batteryInverter0/RadiatorTemperature"