jblance / mpp-solar

Python package to communicate to MPP Solar PIP-4048MS inverters (and similar)
MIT License
354 stars 148 forks source link

Home Assistant Discovered entities with a name that starts with the device name #392

Open frederickjh opened 1 year ago

frederickjh commented 1 year ago

After updating Home Assistant to version 2023.8.3, I noticed the following notification in Home Assistant:

Some MQTT entities have an entity name that starts with the device name. This is not expected. To avoid a duplicate name the device name prefix is stripped of the entity name as a work-a-round. Please inform the maintainer of the software application that supplies the affected entities to fix this issue.

https://developers.home-assistant.io/blog/2023-057-21-change-naming-mqtt-entities/

The bar at the top of the notification says: " This stops working in version 2024.2.0. Please address before upgrading.

Here is the list of affected entitites from the notification:

binary_sensor.pip8048max_is_load_on binary_sensor.pip8048max_is_dustproof_installed sensor.pip8048max_pv1_input_current sensor.pip8048max_battery_charging_current binary_sensor.pip8048max_is_scc_firmware_updated sensor.pip8048max_ac_output_apparent_power sensor.pip8048max_ac_output_frequency sensor.pip8048max_battery_voltage_from_scc sensor.pip8048max_pv1_input_voltage binary_sensor.pip8048max_is_configuration_changed sensor.pip8048max_ac_output_voltage sensor.pip8048max_ac_input_voltage sensor.pip8048max_ac_output_load sensor.pip8048max_total_output_load_energy sensor.pip8048max_eeprom_version sensor.pip8048max_ac_input_frequency sensor.pip8048max_ac_output_active_power binary_sensor.pip8048max_is_battery_voltage_to_steady_while_charging sensor.pip8048max_battery_voltage_offset_for_fans_on binary_sensor.pip8048max_is_charging_to_float sensor.pip8048max_total_pv_generated_energy binary_sensor.pip8048max_is_ac_charging_on sensor.pip8048max_pv1_charging_power binary_sensor.pip8048max_is_switched_on binary_sensor.pip8048max_is_charging_on binary_sensor.pip8048max_is_sbu_priority_version_added sensor.pip8048max_battery_discharge_current binary_sensor.pip8048max_is_scc_charging_on sensor.pip8048max_inverter_heat_sink_temperature sensor.pip8048max_battery_capacity sensor.pip8048max_bus_voltage sensor.pip8048max_battery_voltage

Saentist commented 1 year ago

Use hassd_mqtt output

mpp-solar -p /dev/hidraw1 -o hassd_mqtt -c QID#QDI#QMOD#QPI#QPIGS#QPIRI#QFLAG -q 192.168.1.12 --mqttuser user --mqttpass 'pass' -n pip8048max
frederickjh commented 1 year ago

I am using hassd_mqtt output. config/mpp-solar.conf for my docker container looks like this:

[SETUP]
pause=15
mqtt_broker=192.168.7.100
mqtt_port=1883
mqtt_user=mqtt_user
mqtt_pass=xxxxxxxxxxxx

[PIP8048MAX]
protocol=PI30MAX
type=mppsolar
port=/dev/hidraw1
baud=2400
command=QPIGS#QLT#QET
tag=PIP8048MAX
name=PIP8048MAX
outputs=hassd_mqtt
pveredas commented 10 months ago

Hi frederickjh, is the integration with homeassistant working? I have the same outputs configured as you but does not any sensor registered

frederickjh commented 10 months ago

@pveredas yes it is working, this is off topic, but try the following.

pveredas commented 10 months ago

@pveredas yes it is working, this is off topic, but try the following.

  • Are you using the USB port?

    • If so is /dev/hidraw1 the correct port? ( could be hidraw0, hidraw2, etc. )

    • If you are using the serial port the port will be different. Something like /dev/USBtty0.

  • Are you connecting to the same inverter, PIP8048MAX, that I am?

    • If not then then you may need a different protocol.
  • The mqtt settings should match you mqtt broker's settings.

Thanks for your response. All the settings where good as I saw them in screen output and mqtt server. It took a day for the sensors to register in HA. Now it's all good.

jblance commented 6 months ago

sorry, just looking into this further, the hassd output uses the tag value as part of the name, so if you change it to something other than the device name (from the name -n value) it will fix this error