Prerequisiti
Installazione software necessari
sudo apt install git cmake make build-essential libhidapi-hidraw0 libhidapi-libusb0 libhidapi-dev libserialport0 libserialport-dev pip
pip install inverterd
pip install paho-mqtt
Inverter-tools
Installazione
git clone https://github.com/gch1p/inverter-tools.git
cd inverter-tools/
git submodule update --init
mkdir build
cd build
cmake ..
make
sudo make install
sudo mv /usr/local/bin/bin/inverter* /usr/local/bin/
sudo touch /etc/default/inverterd
cd ..
sudo cp systemd/inverterd.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable inverterd.service
sudo systemctl start inverterd.service
Test
sudo inverterctl --device usb --format json get-protocol-id
{"result":"ok","data":{"id":18}}
sudo inverterctl --device usb --format json get-date-time
{"result":"ok","data":{"year":2022,"month":12,"day":31,"hour":15,"minute":25,"second":41}}
sudo inverterctl --device usb --format json get-total-generated
{"result":"ok","data":{"wh":1310279}}
sudo inverterctl --device usb --format json get-year-generated 2022
{"result":"ok","data":{"wh":1310283}}
sudo inverterctl --device usb --format json get-month-generated 2022 11
{"result":"ok","data":{"wh":236949}}
sudo inverterctl --device usb --format json get-day-generated 2022 12 30
{"result":"ok","data":{"wh":8957}}
sudo inverterctl --device usb --format json get-serial-number
{"result":"ok","data":{"sn":"96132111100444"}}
sudo inverterctl --device usb --format json get-cpu-version
{"result":"ok","data":{"main_v":"05229","slave1_v":"00000","slave2_v":"00000"}}
sudo inverterctl --device usb --format json get-rated
{"result":"error","message":"response is invalid: while parsing p18::response_type::RatedInformation: item 14 is expected to be 2 characters long, got 3 characters"}
#da questo errore presumibilmente perche' e' un sistema parallelo e vanno usati i comandi sotto
sudo inverterctl --device usb --format json get-status
{"result":"ok","data":{"grid_voltage":{"unit":"V","value":226.5},"grid_freq":{"unit":"Hz","value":50.1},"ac_output_voltage":{"unit":"V","value":230.3},"ac_output_freq":{"unit":"Hz","value":49.9},"ac_output_apparent_power":{"unit":"VA","value":1658},"ac_output_active_power":{"unit":"Wh","value":1621},"output_load_percent":{"unit":"%","value":33},"battery_voltage":{"unit":"V","value":45.3},"battery_voltage_scc":{"unit":"V","value":0.0},"battery_voltage_scc2":{"unit":"V","value":0.0},"battery_discharge_current":{"unit":"A","value":12},"battery_charge_current":{"unit":"A","value":0},"battery_capacity":{"unit":"%","value":43},"inverter_heat_sink_temp":{"unit":"°C","value":41},"mppt1_charger_temp":{"unit":"°C","value":0},"mppt2_charger_temp":{"unit":"°C","value":0},"pv1_input_power":{"unit":"Wh","value":1117},"pv2_input_power":{"unit":"Wh","value":0},"pv1_input_voltage":{"unit":"V","value":205.1},"pv2_input_voltage":{"unit":"V","value":0.0},"configuration_status":"Default","mppt1_charger_status":"Charging","mppt2_charger_status":"Abnormal","load_connected":"Connected","battery_power_direction":"Discharge","dc_ac_power_direction":"DC/AC","line_power_direction":"Do nothing","local_parallel_id":1}}
sudo inverterctl --device usb --format json get-p-rated 0
{"result":"ok","data":{"parallel_connection_status":"Existent","serial_number":"96132111100458","charge_source_priority":"Solar-only","max_charge_current":{"unit":"A","value":60},"max_ac_charge_current":{"unit":"A","value":50},"output_mode":"Parallel output"}}
sudo inverterctl --device usb --format json get-p-rated 1
{"result":"ok","data":{"parallel_connection_status":"Existent","serial_number":"96132111100444","charge_source_priority":"Solar-only","max_charge_current":{"unit":"A","value":60},"max_ac_charge_current":{"unit":"A","value":50},"output_mode":"Parallel output"}}
sudo inverterctl --device usb --format json get-p-status 0
{"result":"ok","data":{"parallel_connection_status":"Existent","mode":"Battery mode","fault_code":0,"grid_voltage":{"unit":"V","value":227.4},"grid_freq":{"unit":"Hz","value":50.0},"ac_output_voltage":{"unit":"V","value":229.4},"ac_output_freq":{"unit":"Hz","value":49.9},"ac_output_apparent_power":{"unit":"VA","value":1674},"ac_output_active_power":{"unit":"Wh","value":1619},"total_ac_output_apparent_power":{"unit":"VA","value":3361},"total_ac_output_active_power":{"unit":"Wh","value":3306},"output_load_percent":{"unit":"%","value":33},"total_output_load_percent":{"unit":"%","value":33},"battery_voltage":{"unit":"V","value":45.3},"battery_discharge_current":{"unit":"A","value":9},"battery_charge_current":{"unit":"A","value":0},"total_battery_charge_current":{"unit":"A","value":0},"battery_capacity":{"unit":"%","value":43},"pv1_input_power":{"unit":"Wh","value":1341},"pv2_input_power":{"unit":"Wh","value":0},"pv1_input_voltage":{"unit":"V","value":204.4},"pv2_input_voltage":{"unit":"V","value":0.0},"mppt1_charger_status":"Charging","mppt2_charger_status":"Abnormal","load_connected":"Connected","battery_power_direction":"Discharge","dc_ac_power_direction":"DC/AC","line_power_direction":"Do nothing"}}
sudo inverterctl --device usb --format json get-p-status 1
{"result":"ok","data":{"parallel_connection_status":"Existent","mode":"Battery mode","fault_code":0,"grid_voltage":{"unit":"V","value":225.1},"grid_freq":{"unit":"Hz","value":49.9},"ac_output_voltage":{"unit":"V","value":230.5},"ac_output_freq":{"unit":"Hz","value":50.0},"ac_output_apparent_power":{"unit":"VA","value":1797},"ac_output_active_power":{"unit":"Wh","value":1784},"total_ac_output_apparent_power":{"unit":"VA","value":3665},"total_ac_output_active_power":{"unit":"Wh","value":3536},"output_load_percent":{"unit":"%","value":35},"total_output_load_percent":{"unit":"%","value":35},"battery_voltage":{"unit":"V","value":44.9},"battery_discharge_current":{"unit":"A","value":16},"battery_charge_current":{"unit":"A","value":0},"total_battery_charge_current":{"unit":"A","value":0},"battery_capacity":{"unit":"%","value":39},"pv1_input_power":{"unit":"Wh","value":1150},"pv2_input_power":{"unit":"Wh","value":0},"pv1_input_voltage":{"unit":"V","value":187.0},"pv2_input_voltage":{"unit":"V","value":0.0},"mppt1_charger_status":"Charging","mppt2_charger_status":"Abnormal","load_connected":"Connected","battery_power_direction":"Discharge","dc_ac_power_direction":"DC/AC","line_power_direction":"Do nothing"}}
sudo inverterctl --device usb --format json get-mode
{"result":"ok","data":{"mode":"Battery mode"}}
sudo inverterctl --device usb --format json get-errors
{"result":"ok","data":{"fault_code":0,"line_fail":false,"output_circuit_short":false,"inverter_over_temperature":false,"fan_lock":false,"battery_voltage_high":false,"battery_low":false,"battery_under":false,"over_load":false,"eeprom_fail":false,"power_limit":false,"pv1_voltage_high":false,"pv2_voltage_high":false,"mppt1_overload_warning":false,"mppt2_overload_warning":false,"battery_too_low_to_charge_for_scc1":false,"battery_too_low_to_charge_for_scc2":false}}
sudo inverterctl --device usb --format json get-flags
{"result":"ok","data":{"buzzer":true,"overload_bypass":true,"escape_to_default_screen_after_1min_timeout":true,"overload_restart":false,"over_temp_restart":false,"backlight_on":true,"alarm_on_on_primary_source_interrupt":true,"fault_code_record":true}}
sudo inverterctl --device usb --format json get-rated-defaults
{"result":"ok","data":{"ac_output_voltage":{"unit":"V","value":230.0},"ac_output_freq":{"unit":"Hz","value":50.0},"ac_input_voltage_range":"Appliance","battery_under_voltage":{"unit":"V","value":40.8},"battery_bulk_voltage":{"unit":"V","value":56.4},"battery_float_voltage":{"unit":"V","value":54.0},"battery_recharge_voltage":{"unit":"V","value":46.0},"battery_redischarge_voltage":{"unit":"V","value":54.0},"max_charge_current":{"unit":"A","value":60},"max_ac_charge_current":{"unit":"A","value":30},"battery_type":"AGM","output_source_priority":"Solar-Utility-Battery","charge_source_priority":"Solar-and-Utility","solar_power_priority":"Battery-Load-Utility","machine_type":"Off-Grid-Tie","output_mode":"Single output","buzzer_flag":true,"overload_bypass_flag":true,"escape_to_default_screen_after_1min_timeout_flag":true,"overload_restart_flag":false,"over_temp_restart_flag":false,"backlight_on_flag":true,"alarm_on_on_primary_source_interrupt_flag":true,"fault_code_record_flag":false}}
sudo inverterctl --device usb --format json get-allowed-charge-currents
{"result":"ok","data":[10,20,30,40,50,60,70,80,90,100]}
sudo inverterctl --device usb --format json get-allowed-ac-charge-currents
{"result":"ok","data":[2,10,20,30,40,50,60,70,80,90,100]}
sudo inverterctl --device usb --format json get-ac-charge-time
{"result":"ok","data":{"start_time":"00:00","end_time":"00:00"}}
sudo inverterctl --device usb --format json get-ac-supply-time
{"result":"ok","data":{"start_time":"00:00","end_time":"00:00"}}
Broker MQTT
Installazione mosquitto
sudo apt install mosquitto
Modifica configurazione
sudo nano -w /etc/mosquitto/mosquitto.conf
Aggiungere
listener 1883
per_listener_settings true
allow_anonymous false
password_file /etc/mosquitto/pwfile
Creare l’utente
sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt
inserire come password mqttpassword e riavviare il servizio
sudo service mosquitto restart
Script Python
creare il file inverter.py
nano -w inverter.py
e inserire il seguente codice (adattare per un solo inverter)
#!python3
from inverterd import Client, Format
import paho.mqtt.client as mqtt
import time
import json
from datetime import date
today = date.today()
d1 = today.strftime("%Y %m %d")
print("connessione all'inverter")
inverter_host="localhost"
inverter_client = Client(8305, inverter_host)
inverter_client.connect()
inverter_client.format(Format.JSON)
print("lettura dati da inverter")
dati = inverter_client.exec('get-p-status 0')
time.sleep(1)
dati2 = inverter_client.exec('get-p-status 1')
time.sleep(1)
dati3 = inverter_client.exec('get-total-generated')
time.sleep(1)
dati4 = inverter_client.exec('get-day-generated', (d1,))
time.sleep(1)
inverter1_status = json.loads(dati)
inverter2_status = json.loads(dati2)
inverter1_total_generated = json.loads(dati3)
inverter1_day_generated = json.loads(dati4)
def on_message(client, userdata, message):
print("message received " ,str(message.payload.decode("utf-8")))
print("message topic=",message.topic)
print("message qos=",message.qos)
print("message retain flag=",message.retain)
broker="localhost"
mqtt_client = mqtt.Client("inverter")
mqtt_client.username_pw_set(username="mqtt",password="mqttpassword")
mqtt_client.on_message=on_message
print("connessione al broker")
mqtt_client.connect(broker)
mqtt_client.loop_start()
print("publicazione dati")
mqtt_client.publish("homeassistant/inverter/inverter1/parallel_connection_status",inverter1_status['data']['parallel_connection_status'])
mqtt_client.publish("homeassistant/inverter/inverter1/mode",inverter1_status['data']['mode'])
mqtt_client.publish("homeassistant/inverter/inverter1/fault_code",inverter1_status['data']['fault_code'])
mqtt_client.publish("homeassistant/inverter/inverter1/grid_voltage",inverter1_status['data']['grid_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/grid_freq",inverter1_status['data']['grid_freq']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/ac_output_voltage",inverter1_status['data']['ac_output_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/ac_output_freq",inverter1_status['data']['ac_output_freq']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/ac_output_apparent_power",inverter1_status['data']['ac_output_apparent_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/ac_output_active_power",inverter1_status['data']['ac_output_active_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/total_ac_output_apparent_power",inverter1_status['data']['total_ac_output_apparent_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/total_ac_output_active_power",inverter1_status['data']['total_ac_output_active_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/output_load_percent",inverter1_status['data']['output_load_percent']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/total_output_load_percent",inverter1_status['data']['total_output_load_percent']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/battery_voltage",inverter1_status['data']['battery_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/battery_discharge_current",inverter1_status['data']['battery_discharge_current']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/battery_charge_current",inverter1_status['data']['battery_charge_current']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/total_battery_charge_current",inverter1_status['data']['total_battery_charge_current']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/battery_capacity",inverter1_status['data']['battery_capacity']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/pv1_input_power",inverter1_status['data']['pv1_input_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/pv2_input_power",inverter1_status['data']['pv2_input_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/pv1_input_voltage",inverter1_status['data']['pv1_input_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/pv2_input_voltage",inverter1_status['data']['pv2_input_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter1/mppt1_charger_status",inverter1_status['data']['mppt1_charger_status'])
mqtt_client.publish("homeassistant/inverter/inverter1/mppt2_charger_status",inverter1_status['data']['mppt2_charger_status'])
mqtt_client.publish("homeassistant/inverter/inverter1/load_connected",inverter1_status['data']['load_connected'])
mqtt_client.publish("homeassistant/inverter/inverter1/battery_power_direction",inverter1_status['data']['battery_power_direction'])
mqtt_client.publish("homeassistant/inverter/inverter1/dc_ac_power_direction",inverter1_status['data']['dc_ac_power_direction'])
mqtt_client.publish("homeassistant/inverter/inverter1/line_power_direction",inverter1_status['data']['line_power_direction'])
mqtt_client.publish("homeassistant/inverter/inverter2/parallel_connection_status",inverter2_status['data']['parallel_connection_status'])
mqtt_client.publish("homeassistant/inverter/inverter2/mode",inverter2_status['data']['mode'])
mqtt_client.publish("homeassistant/inverter/inverter2/fault_code",inverter2_status['data']['fault_code'])
mqtt_client.publish("homeassistant/inverter/inverter2/grid_voltage",inverter2_status['data']['grid_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/grid_freq",inverter2_status['data']['grid_freq']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/ac_output_voltage",inverter2_status['data']['ac_output_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/ac_output_freq",inverter2_status['data']['ac_output_freq']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/ac_output_apparent_power",inverter2_status['data']['ac_output_apparent_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/ac_output_active_power",inverter2_status['data']['ac_output_active_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/total_ac_output_apparent_power",inverter2_status['data']['total_ac_output_apparent_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/total_ac_output_active_power",inverter2_status['data']['total_ac_output_active_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/output_load_percent",inverter2_status['data']['output_load_percent']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/total_output_load_percent",inverter2_status['data']['total_output_load_percent']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/battery_voltage",inverter2_status['data']['battery_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/battery_discharge_current",inverter2_status['data']['battery_discharge_current']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/battery_charge_current",inverter2_status['data']['battery_charge_current']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/total_battery_charge_current",inverter2_status['data']['total_battery_charge_current']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/battery_capacity",inverter2_status['data']['battery_capacity']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/pv1_input_power",inverter2_status['data']['pv1_input_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/pv2_input_power",inverter2_status['data']['pv2_input_power']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/pv1_input_voltage",inverter2_status['data']['pv1_input_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/pv2_input_voltage",inverter2_status['data']['pv2_input_voltage']['value'])
mqtt_client.publish("homeassistant/inverter/inverter2/mppt1_charger_status",inverter2_status['data']['mppt1_charger_status'])
mqtt_client.publish("homeassistant/inverter/inverter2/mppt2_charger_status",inverter2_status['data']['mppt2_charger_status'])
mqtt_client.publish("homeassistant/inverter/inverter2/load_connected",inverter2_status['data']['load_connected'])
mqtt_client.publish("homeassistant/inverter/inverter2/battery_power_direction",inverter2_status['data']['battery_power_direction'])
mqtt_client.publish("homeassistant/inverter/inverter2/dc_ac_power_direction",inverter2_status['data']['dc_ac_power_direction'])
mqtt_client.publish("homeassistant/inverter/inverter2/line_power_direction",inverter2_status['data']['line_power_direction'])
mqtt_client.publish("homeassistant/inverter/inverter1/total-generated",(inverter1_total_generated['data']['wh']/1000))
mqtt_client.publish("homeassistant/inverter/inverter1/day-generated",(inverter1_day_generated['data']['wh']/1000))
time.sleep(4)
mqtt_client.loop_stop()
print("fine")
Modificare cron per l’esecuzione automatica
crontab -e
* * * * * ( /usr/bin/python3 ~/inverter.py )
* * * * * ( sleep 10 ; /usr/bin/python3 ~/inverter.py )
* * * * * ( sleep 20 ; /usr/bin/python3 ~/inverter.py )
* * * * * ( sleep 30 ; /usr/bin/python3 ~/inverter.py )
* * * * * ( sleep 40 ; /usr/bin/python3 ~/inverter.py )
* * * * * ( sleep 50 ; /usr/bin/python3 ~/inverter.py )
Home Assistant
configuration.yaml
mqtt:
sensor:
- name: "Fotovoltaico Inverter 1 Stato Parallelo"
state_topic: "homeassistant/inverter/inverter1/parallel_connection_status"
- name: "Fotovoltaico Inverter 1 Modo"
state_topic: "homeassistant/inverter/inverter1/mode"
- name: "Fotovoltaico Inverter 1 Codice Errore"
state_topic: "homeassistant/inverter/inverter1/fault_code"
- name: "Fotovoltaico Inverter 1 Tensione Rete"
state_topic: "homeassistant/inverter/inverter1/grid_voltage"
unit_of_measurement: V
device_class: Voltage
state_class: measurement
- name: "Fotovoltaico Inverter 1 Frequenza Rete"
state_topic: "homeassistant/inverter/inverter1/grid_freq"
unit_of_measurement: Hz
device_class: Frequency
state_class: measurement
- name: "Fotovoltaico Inverter 1 Tensione"
state_topic: "homeassistant/inverter/inverter1/ac_output_voltage"
unit_of_measurement: V
device_class: Voltage
state_class: measurement
- name: "Fotovoltaico Inverter 1 Frequenza"
state_topic: "homeassistant/inverter/inverter1/ac_output_freq"
unit_of_measurement: Hz
device_class: Frequency
state_class: measurement
- name: "Fotovoltaico Inverter 1 Potenza Apparente"
state_topic: "homeassistant/inverter/inverter1/ac_output_apparent_power"
unit_of_measurement: VA
device_class: apparent_power
state_class: measurement
- name: "Fotovoltaico Inverter 1 Potenza Attiva"
state_topic: "homeassistant/inverter/inverter1/ac_output_active_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 1 Potenza Apparente Totale"
state_topic: "homeassistant/inverter/inverter1/total_ac_output_apparent_power"
unit_of_measurement: VA
device_class: apparent_power
state_class: measurement
- name: "Fotovoltaico Inverter 1 Potenza Attiva Totale"
state_topic: "homeassistant/inverter/inverter1/total_ac_output_active_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 1 Percentuale Carico"
state_topic: "homeassistant/inverter/inverter1/output_load_percent"
unit_of_measurement: "%"
state_class: measurement
- name: "Fotovoltaico Inverter 1 Percentuale Carico Totale"
state_topic: "homeassistant/inverter/inverter1/total_output_load_percent"
unit_of_measurement: "%"
state_class: measurement
- name: "Fotovoltaico Inverter 1 Tensione Batteria"
state_topic: "homeassistant/inverter/inverter1/battery_voltage"
unit_of_measurement: V
device_class: Voltage
state_class: measurement
- name: "Fotovoltaico Inverter 1 Corrente Scarica Batteria"
state_topic: "homeassistant/inverter/inverter1/battery_discharge_current"
unit_of_measurement: A
device_class: current
state_class: measurement
- name: "Fotovoltaico Inverter 1 Corrente Carica Batteria"
state_topic: "homeassistant/inverter/inverter1/battery_charge_current"
unit_of_measurement: A
device_class: current
state_class: measurement
- name: "Fotovoltaico Inverter 1 Corrente Carica Batteria Totale"
state_topic: "homeassistant/inverter/inverter1/total_battery_charge_current"
unit_of_measurement: A
device_class: current
state_class: measurement
- name: "Fotovoltaico Inverter 1 Capacità Batteria"
state_topic: "homeassistant/inverter/inverter1/battery_capacity"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
- name: "Fotovoltaico Inverter 1 Potenza Stringa 1"
state_topic: "homeassistant/inverter/inverter1/pv1_input_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 1 Potenza Stringa 2"
state_topic: "homeassistant/inverter/inverter1/pv2_input_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 1 Tensione Stringa 1"
state_topic: "homeassistant/inverter/inverter1/pv1_input_voltage"
unit_of_measurement: V
device_class: voltage
state_class: measurement
- name: "Fotovoltaico Inverter 1 Tensione Stringa 2"
state_topic: "homeassistant/inverter/inverter1/pv2_input_voltage"
unit_of_measurement: V
device_class: voltage
state_class: measurement
- name: "Fotovoltaico Inverter 1 Stato Carica Stringa 1"
state_topic: "homeassistant/inverter/inverter1/mppt1_charger_status"
- name: "Fotovoltaico Inverter 1 Stato Carica Stringa 2"
state_topic: "homeassistant/inverter/inverter1/mppt2_charger_status"
- name: "Fotovoltaico Inverter 1 Carico Connesso"
state_topic: "homeassistant/inverter/inverter1/load_connected"
- name: "Fotovoltaico Inverter 1 Stato Batteria"
state_topic: "homeassistant/inverter/inverter1/battery_power_direction"
- name: "Fotovoltaico Inverter 1 Stato Inverter"
state_topic: "homeassistant/inverter/inverter1/dc_ac_power_direction"
- name: "Fotovoltaico Inverter 1 Stato Rete"
state_topic: "homeassistant/inverter/inverter1/line_power_direction"
- name: "Fotovoltaico Inverter 2 Stato Parallelo"
state_topic: "homeassistant/inverter/inverter2/parallel_connection_status"
- name: "Fotovoltaico Inverter 2 Modo"
state_topic: "homeassistant/inverter/inverter2/mode"
- name: "Fotovoltaico Inverter 2 Codice Errore"
state_topic: "homeassistant/inverter/inverter2/fault_code"
- name: "Fotovoltaico Inverter 2 Tensione Rete"
state_topic: "homeassistant/inverter/inverter2/grid_voltage"
unit_of_measurement: V
device_class: Voltage
state_class: measurement
- name: "Fotovoltaico Inverter 2 Frequenza Rete"
state_topic: "homeassistant/inverter/inverter2/grid_freq"
unit_of_measurement: Hz
device_class: Frequency
state_class: measurement
- name: "Fotovoltaico Inverter 2 Tensione"
state_topic: "homeassistant/inverter/inverter2/ac_output_voltage"
unit_of_measurement: V
device_class: Voltage
state_class: measurement
- name: "Fotovoltaico Inverter 2 Frequenza"
state_topic: "homeassistant/inverter/inverter2/ac_output_freq"
unit_of_measurement: Hz
device_class: Frequency
state_class: measurement
- name: "Fotovoltaico Inverter 2 Potenza Apparente"
state_topic: "homeassistant/inverter/inverter2/ac_output_apparent_power"
unit_of_measurement: VA
device_class: apparent_power
state_class: measurement
- name: "Fotovoltaico Inverter 2 Potenza Attiva"
state_topic: "homeassistant/inverter/inverter2/ac_output_active_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 2 Potenza Apparente Totale"
state_topic: "homeassistant/inverter/inverter2/total_ac_output_apparent_power"
unit_of_measurement: VA
device_class: apparent_power
state_class: measurement
- name: "Fotovoltaico Inverter 2 Potenza Attiva Totale"
state_topic: "homeassistant/inverter/inverter2/total_ac_output_active_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 2 Percentuale Carico"
state_topic: "homeassistant/inverter/inverter2/output_load_percent"
unit_of_measurement: "%"
state_class: measurement
- name: "Fotovoltaico Inverter 2 Percentuale Carico Totale"
state_topic: "homeassistant/inverter/inverter2/total_output_load_percent"
unit_of_measurement: "%"
state_class: measurement
- name: "Fotovoltaico Inverter 2 Tensione Batteria"
state_topic: "homeassistant/inverter/inverter2/battery_voltage"
unit_of_measurement: V
device_class: Voltage
state_class: measurement
- name: "Fotovoltaico Inverter 2 Corrente Scarica Batteria"
state_topic: "homeassistant/inverter/inverter2/battery_discharge_current"
unit_of_measurement: A
device_class: current
state_class: measurement
- name: "Fotovoltaico Inverter 2 Corrente Carica Batteria"
state_topic: "homeassistant/inverter/inverter2/battery_charge_current"
unit_of_measurement: A
device_class: current
state_class: measurement
- name: "Fotovoltaico Inverter 2 Corrente Carica Batteria Totale"
state_topic: "homeassistant/inverter/inverter2/total_battery_charge_current"
unit_of_measurement: A
device_class: current
state_class: measurement
- name: "Fotovoltaico Inverter 2 Capacità Batteria"
state_topic: "homeassistant/inverter/inverter2/battery_capacity"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
- name: "Fotovoltaico Inverter 2 Potenza Stringa 1"
state_topic: "homeassistant/inverter/inverter2/pv1_input_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 2 Potenza Stringa 2"
state_topic: "homeassistant/inverter/inverter2/pv2_input_power"
unit_of_measurement: W
device_class: power
state_class: measurement
- name: "Fotovoltaico Inverter 2 Tensione Stringa 1"
state_topic: "homeassistant/inverter/inverter2/pv1_input_voltage"
unit_of_measurement: V
device_class: voltage
state_class: measurement
- name: "Fotovoltaico Inverter 2 Tensione Stringa 2"
state_topic: "homeassistant/inverter/inverter2/pv2_input_voltage"
unit_of_measurement: V
device_class: voltage
state_class: measurement
- name: "Fotovoltaico Inverter 2 Stato Carica Stringa 1"
state_topic: "homeassistant/inverter/inverter2/mppt1_charger_status"
- name: "Fotovoltaico Inverter 2 Stato Carica Stringa 2"
state_topic: "homeassistant/inverter/inverter2/mppt2_charger_status"
- name: "Fotovoltaico Inverter 2 Carico Connesso"
state_topic: "homeassistant/inverter/inverter2/load_connected"
- name: "Fotovoltaico Inverter 2 Stato Batteria"
state_topic: "homeassistant/inverter/inverter2/battery_power_direction"
- name: "Fotovoltaico Inverter 2 Stato Inverter"
state_topic: "homeassistant/inverter/inverter2/dc_ac_power_direction"
- name: "Fotovoltaico Inverter 2 Stato Rete"
state_topic: "homeassistant/inverter/inverter2/line_power_direction"
- name: "Fotovoltaico Inverter 1 Energia Generata Totale"
state_topic: "homeassistant/inverter/inverter1/total-generated"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- name: "Fotovoltaico Inverter 1 Energia Generata Giornaliera"
state_topic: "homeassistant/inverter/inverter1/day-generated"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
template:
- sensor:
- name: "Inverter 1 Potenza Carica Batteria"
device_class: power
unit_of_measurement: W
state_class: measurement
state: >-
{{ states('sensor.fotovoltaico_inverter_1_tensione_batteria') | float * states('sensor.fotovoltaico_inverter_1_corrente_carica_batteria') | float}}
- name: "Inverter 2 Potenza Carica Batteria"
device_class: power
unit_of_measurement: W
state_class: measurement
state: >-
{{ states('sensor.fotovoltaico_inverter_2_tensione_batteria') | float * states('sensor.fotovoltaico_inverter_2_corrente_carica_batteria') | float}}
- name: "Inverter 1 Potenza Scarica Batteria"
device_class: power
unit_of_measurement: W
state_class: measurement
state: >-
{{ states('sensor.fotovoltaico_inverter_1_tensione_batteria') | float * states('sensor.fotovoltaico_inverter_1_corrente_scarica_batteria') | float}}
- name: "Inverter 2 Potenza Scarica Batteria"
device_class: power
unit_of_measurement: W
state_class: measurement
state: >-
{{ states('sensor.fotovoltaico_inverter_2_tensione_batteria') | float * states('sensor.fotovoltaico_inverter_2_corrente_scarica_batteria') | float}}
sensor:
- platform: integration
source: sensor.inverter_1_potenza_carica_batteria
name: Inverter 1 Energia Carica Batteria
unit_prefix: k
round: 2
unit_time: h
method: trapezoidal
- platform: integration
source: sensor.inverter_1_potenza_scarica_batteria
name: Inverter 1 Energia Scarica Batteria
unit_prefix: k
round: 2
unit_time: h
method: trapezoidal
- platform: integration
source: sensor.inverter_2_potenza_carica_batteria
name: Inverter 2 Energia Carica Batteria
unit_prefix: k
round: 2
unit_time: h
method: trapezoidal
- platform: integration
source: sensor.inverter_2_potenza_scarica_batteria
name: Inverter 2 Energia Scarica Batteria
unit_prefix: k
round: 2
unit_time: h
method: trapezoidal
Plancia
Plancia
title: Fotovoltaico
views:
- badges: []
cards:
- type: entities
entities:
- entity: sensor.fotovoltaico_inverter_1_stato_parallelo
name: Stato Parallelo
- entity: sensor.fotovoltaico_inverter_1_modo
name: Modo
- entity: sensor.fotovoltaico_inverter_1_codice_errore
name: Codice Errore
- entity: sensor.fotovoltaico_inverter_1_tensione_rete
name: Tensione Rete
- entity: sensor.fotovoltaico_inverter_1_frequenza_rete
name: Frequenza Rete
- entity: sensor.fotovoltaico_inverter_1_tensione
name: Tensione
- entity: sensor.fotovoltaico_inverter_1_frequenza
name: Frequenza
- entity: sensor.fotovoltaico_inverter_1_potenza_apparente
name: Potenza Apparente
- entity: sensor.fotovoltaico_inverter_1_potenza_attiva
name: Potenza Attiva
- entity: sensor.fotovoltaico_inverter_1_potenza_apparente_totale
name: Potenza Apparente Totale
- entity: sensor.fotovoltaico_inverter_1_potenza_attiva_totale
name: Potenza Attiva Totale
- entity: sensor.fotovoltaico_inverter_1_percentuale_carico
name: Percentuale Carico
- entity: sensor.fotovoltaico_inverter_1_percentuale_carico_totale
name: Percentuale Carico Totale
- entity: sensor.fotovoltaico_inverter_1_tensione_batteria
name: Tensione Batteria
- entity: sensor.fotovoltaico_inverter_1_corrente_scarica_batteria
name: Corrente Scarica Batteria
- entity: sensor.fotovoltaico_inverter_1_corrente_carica_batteria
name: Corrente Carica Batteria
- entity: sensor.fotovoltaico_inverter_1_corrente_carica_batteria_totale
name: Corrente Carica Batteria Totale
- entity: sensor.fotovoltaico_inverter_1_capacita_batteria
name: Capacità Batteria
- entity: sensor.fotovoltaico_inverter_1_potenza_stringa_1
name: Potenza Stringa 1
- entity: sensor.fotovoltaico_inverter_1_potenza_stringa_2
name: Potenza Stringa 2
- entity: sensor.fotovoltaico_inverter_1_tensione_stringa_1
name: Tensione Stringa 1
- entity: sensor.fotovoltaico_inverter_1_tensione_stringa_2
name: Tensione Stringa 2
- entity: sensor.fotovoltaico_inverter_1_stato_carica_stringa_1
name: Stato Carica Stringa 1
- entity: sensor.fotovoltaico_inverter_1_stato_carica_stringa_2
name: Stato Carica Stringa 2
- entity: sensor.fotovoltaico_inverter_1_carico_connesso
name: Carico Connesso
- entity: sensor.fotovoltaico_inverter_1_stato_batteria
name: Stato Batteria
- entity: sensor.fotovoltaico_inverter_1_stato_inverter
name: Stato Inverter
- entity: sensor.fotovoltaico_inverter_1_stato_rete
name: Stato Rete
title: Inverter 1
- type: entities
entities:
- entity: sensor.fotovoltaico_inverter_2_stato_parallelo
name: Stato Parallelo
- entity: sensor.fotovoltaico_inverter_2_modo
name: Modo
- entity: sensor.fotovoltaico_inverter_2_codice_errore
name: Codice Errore
- entity: sensor.fotovoltaico_inverter_2_tensione_rete
name: Tensione Rete
- entity: sensor.fotovoltaico_inverter_2_frequenza_rete
name: Frequenza Rete
- entity: sensor.fotovoltaico_inverter_2_tensione
name: Tensione
- entity: sensor.fotovoltaico_inverter_2_frequenza
name: Frequenza
- entity: sensor.fotovoltaico_inverter_2_potenza_apparente
name: Potenza Apparente
- entity: sensor.fotovoltaico_inverter_2_potenza_attiva
name: Potenza Attiva
- entity: sensor.fotovoltaico_inverter_2_potenza_apparente_totale
name: Potenza Apparente Totale
- entity: sensor.fotovoltaico_inverter_2_potenza_attiva_totale
name: Potenza Attiva Totale
- entity: sensor.fotovoltaico_inverter_2_percentuale_carico
name: Percentuale Carico
- entity: sensor.fotovoltaico_inverter_2_percentuale_carico_totale
name: Percentuale Carico Totale
- entity: sensor.fotovoltaico_inverter_2_tensione_batteria
name: Tensione Batteria
- entity: sensor.fotovoltaico_inverter_2_corrente_scarica_batteria
name: Corrente Scarica Batteria
- entity: sensor.fotovoltaico_inverter_2_corrente_carica_batteria
name: Corrente Carica Batteria
- entity: sensor.fotovoltaico_inverter_2_corrente_carica_batteria_totale
name: Corrente Carica Batteria Totale
- entity: sensor.fotovoltaico_inverter_2_capacita_batteria
name: Capacità Batteria
- entity: sensor.fotovoltaico_inverter_2_potenza_stringa_1
name: Potenza Stringa 1
- entity: sensor.fotovoltaico_inverter_2_potenza_stringa_2
name: Potenza Stringa 2
- entity: sensor.fotovoltaico_inverter_2_tensione_stringa_1
name: Tensione Stringa 1
- entity: sensor.fotovoltaico_inverter_2_tensione_stringa_2
name: Tensione Stringa 2
- entity: sensor.fotovoltaico_inverter_2_stato_carica_stringa_1
name: Stato Carica Stringa 1
- entity: sensor.fotovoltaico_inverter_2_stato_carica_stringa_2
name: Stato Carica Stringa 2
- entity: sensor.fotovoltaico_inverter_2_carico_connesso
name: Carico Connesso
- entity: sensor.fotovoltaico_inverter_2_stato_batteria
name: Stato Batteria
- entity: sensor.fotovoltaico_inverter_2_stato_inverter
name: Stato Inverter
- entity: sensor.fotovoltaico_inverter_2_stato_rete
name: Stato Rete
title: Inverter 2
- type: entities
entities:
- entity: sensor.fotovoltaico_inverter_1_energia_generata_giornaliera
name: Inverter 1 Giornaliera
icon: mdi:counter
- entity: sensor.fotovoltaico_inverter_1_energia_generata_totale
name: Inverter 1 Totale
icon: mdi:counter
title: Energia
- type: entities
entities:
- entity: sensor.inverter_1_potenza_carica_batteria
name: Inverter 1 Potenza Carica Batteria
- entity: sensor.inverter_1_potenza_scarica_batteria
name: Inverter 1 Potenza Scarica Batteria
- entity: sensor.inverter_2_potenza_carica_batteria
name: Inverter 2 Potenza Carica Batteria
- entity: sensor.inverter_2_potenza_scarica_batteria
name: Inverter 2 Potenza Scarica Batteria
title: Calcolo Potenza Batterie
- type: entities
entities:
- entity: sensor.inverter_1_energia_carica_batteria
icon: mdi:counter
- entity: sensor.inverter_1_energia_scarica_batteria
icon: mdi:counter
- entity: sensor.inverter_2_energia_carica_batteria
icon: mdi:counter
- entity: sensor.inverter_2_energia_scarica_batteria
icon: mdi:counter
title: Calcolo Energia Batterie
icon: mdi:grid
title: Fotovoltaico