StephanJoubert / home_assistant_solarman

Home Assistant component for Solarman collectors used with a variety of inverters.
Apache License 2.0
512 stars 191 forks source link

More inverters #300

Open carstenit opened 1 year ago

carstenit commented 1 year ago

I cannot get it to work with more than one inverter, i believe it could be a json error - dublicate key “name" or something like that?

I have both of them connected, but i am only getting data from one of them

DHLF commented 1 year ago

To add another inverter you MUST add another solarman integration. DONT change the (first) one you got already running! Any change there will "drop" the first inverter and add the second!

Instead click on the gear(spiked circle) on the left(Configuration/Settings?) The next page should be the one with all already found integrations like "sun", your solarman .. Click the button in the lower right "add integration" and select AGAIN solarman. Configure this to your needs. BEWARE to "name" both inverter different, dont use the "stock" values as you will get TWO inverter prefixed with "solarman".

sensor.solarman_ac_output_frequency (first one) sensor.solarman_ac_output_frequency (second one?!)

Rename the first to "inverter1" or whatever you like and also with the second. Otherwise there is no wonder HA is throwing duplicate key errors..

Wait. KEY errors? Did you just copy and paste stuff in the config?? That should be avoided. Just use the userinterface with add integration!

Strange description due to other language settings. sorry.

b1lei commented 1 year ago

same problem. Added slave invert as DHLF described above. The result: Master is readable Slave is not readable (all sensors unknown)

Does someone solved this issue with multiple inverters?

sensor:

deye_sg04lp3.txt

DHLF commented 1 year ago

I got a master-slave configuration working(mixed 600+2000).. where the 600 as first and the 2000 as last device in the "string" so output of the 2000 would went into the net. may NOT be as intended by manufacturer(mixing microinverters of different types) so dont try this!! I did NOT change the inverter slave ids.. so they stayed both at 1.

In this configuration both showed up with different "prefixes" in the entity names.


Things you may try: If you mistyped the inverter_serial in the HA config/solarman it will NEVER be able to connect therefore unknown values so doublecheck this.

EDIT: Confusion due to different microinverters: it seems you are using those "string" stuff while i got 1 mppt/per module so no serial connection of the solar panels. The Deye600 uses deye_2mppt.yaml and the Deye2000 uses deye_4mppt.yaml. As I dont know nothing about the string stuff: MAYBE it is right to switch the slave id to 2 but as stated above it worked without changing this parameter

NikiSkaarup commented 1 year ago

I finally got my second inverter working after some trial and error

So in order to get more than 1 inverter to work I had to make a copy of deye_sg04lp3.yaml as deye_sg04lp3_no_bat.yaml file and for the secondary inverter and add it in the const.py file so I could select it

in the deye_sg04lp3_no_bat.yaml file find

      - name: "Battery Temperature"
        class: "temperature"
        state_class: "measurement"
        uom: "°C"
        scale: 0.1
        rule: 1
        offset: 1000
        registers: [0x024A]
        icon: "mdi:battery"
        validation:
          min: 1
          max: 99
          invalidate_all:

and remove

        validation:
          min: 1
          max: 99
          invalidate_all:

since my second inverter isn't connected directly to the batteries, it reports battery temp as -100, so it failed the validation and invalidated all fields

b1lei commented 1 year ago

I finally got my second inverter working after some trial and error

So in order to get more than 1 inverter to work I had to make a copy of deye_sg04lp3.yaml as deye_sg04lp3_no_bat.yaml file and for the secondary inverter and add it in the const.py file so I could select it

in the deye_sg04lp3_no_bat.yaml file find

      - name: "Battery Temperature"
        class: "temperature"
        state_class: "measurement"
        uom: "°C"
        scale: 0.1
        rule: 1
        offset: 1000
        registers: [0x024A]
        icon: "mdi:battery"
        validation:
          min: 1
          max: 99
          invalidate_all:

and remove

        validation:
          min: 1
          max: 99
          invalidate_all:

since my second inverter isn't connected directly to the batteries, it reports battery temp as -100, so it failed the validation and invalidated all fields

Worked for me. Thanks

djsamlb commented 1 year ago

Finally!! Worked for me too Thank u!!

robert10055 commented 9 months ago

Great it works perfectly

dlx295 commented 8 months ago

Hi,

I added a new Deye Inverter to my system an want to add it to home assistant via Solarman integration.... unfortunately it is not working... the second inverter is just showing unknown values. did everything (also with changes to const.py) but it is not working at all...

image

image

robert10055 commented 8 months ago

Here you must setup number 1 image

dlx295 commented 8 months ago

thank you for your answer, but I do not see any changes when I use 1

NikiSkaarup commented 8 months ago

@dlx295 there might be more than one value that has

   invalidate_all:

which causes all values to become unknown

dlx295 commented 8 months ago

@dlx295 there might be more than one value that has

   invalidate_all:

which causes all values to become unknown

where do I have to search for it and how can I solve it? thanks

ornulf commented 3 months ago

I finally got my second inverter working after some trial and error So in order to get more than 1 inverter to work I had to make a copy of deye_sg04lp3.yaml as deye_sg04lp3_no_bat.yaml file and for the secondary inverter and add it in the const.py file so I could select it in the deye_sg04lp3_no_bat.yaml file find

      - name: "Battery Temperature"
        class: "temperature"
        state_class: "measurement"
        uom: "°C"
        scale: 0.1
        rule: 1
        offset: 1000
        registers: [0x024A]
        icon: "mdi:battery"
        validation:
          min: 1
          max: 99
          invalidate_all:

and remove

        validation:
          min: 1
          max: 99
          invalidate_all:

since my second inverter isn't connected directly to the batteries, it reports battery temp as -100, so it failed the validation and invalidated all fields

Worked for me. Thanks

Worked like a charm for me .