Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Goodwe HC3


Martin555
 Share

Question

Hello,

 

I do it. I have QA for local connection with HC3 and Goodwe EM series like in Homeassistance. 

 

Please login or register to see this image.

/monthly_2022_12/image.png.c37acb323622ce95f9d6fe563f7c7d5a.png" />

 

I have a Goodwe EM3648-EM converter. I installed Homeassistance (HA) for data. I have HC3 fibaro and I would like to have some data in fibaro. HA communicates with the inverter via UDP and  reading data directly from the inverter every 5 seconds. I started testing the communication via shark and found that HA is sending a command to Goodwe - aa55c07f0106000245. 

 

I use some QA for UDP comunication in HC3  

)

 

 

string.char(0xaa,0x55,0xc0,0x7f,0x01,0x06,0x00,0x02,0x45)

send data to HC3 in after convert to HEX

5B22AA557FC05C7530303031868C5C75303030305C75303030305C75303030305C75303030305C75303030305C75303030305C75303030305C75303030305C75303030305C75303030305C7530303031E45C75303030305C75303030335C7530303030505C75303030315C75303030305C75303030305C75303030305C7530303030645C7530303030645C75303030305C75303030305C75303031325C75303030305C75303031325F5C75303030315C75303030305C75303030305C75303030315C743C5C75303030305C75303030315C7530303031B55C7530303133875C75303030315C743C5C75303030305C75303030465C7530303030E25C7530303133865C75303030315C75303030325C75303030315C75303031465C75303030305C75303030305C75303030305C75303030305C75303030305C7530303031DE2D5C75303030305C75303030306F678ACC89725C75303030305C75303030327ACA5C75303030305C75303030365C75303030315C7530303030305C75303030325C7530303030DB5C75303030305C75303030315C75303030305C7530303030FFB2 etc..

 

I thint that after 5C303030 is a data from Goodwe.

I find some documnet  but only for DT. 

Please login or register to see this link.

 

I do knot know why it send me data with 5C75303030 maybe it is because I ussing string.char(0xaa,0x55,0xc0,0x7f,0x01,0x06,0x00,0x02,0x45) . Why doesn't it send the data in format like in HA ?

It possible to change command to another code? like only aa55c07f0106000245 like HA send data to goodwe?  like this ( from shark HA-goodwe) aa557fc001868c0000000000000000000001e400030050010000000064006400001200125f01000001093b0002011d138801093b000f000813880102011f000000000001de2d00006f668acc896c00027ac400080100300200fc00010000ffc601080006000016031d05292d0000000000000000000000000000000000000000000000000000d3d30000b6a00200000000000013f7

 

I'm not that good at programming anymore, but maybe it will help someone, in case it helps to do basic QA for getting data from the inverter, similar to homeassistance.

 

Some document or links which can help.:

Please login or register to see this link.

Please login or register to see this link.

Please login or register to see this link.

Please login or register to see this link.

Please login or register to see this link.

Please login or register to see this link.

 

 

 

Thanks

 

 

Please login or register to see this attachment.

Please login or register to see this attachment.

Edited by Martin555
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
  • Inquirer
  • Here is QA Goodwe which give data from inverter 

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • So I had a mistake. I print bad table.

    -- UDP Quick App Data from inverter Goodwe 
     
      
    function QuickApp:onInit()
        self:debug("onInit")
        self.ip = self:getVariable("ip")
    end
     
    ----   sed UDP pracujuce ---
    function QuickApp:discover()
        if self.ip ~= "changeme" then
             data = string.char( 0xaa,0x55,0xc0,0x7f,0x01,0x06,0x00,0x02,0x45)
              devicesTable = {}
            local socket = net.UDPSocket({timeout = 5000, broadcast,true})
            socket:bind(self.ip, 5061)
            socket:sendTo(data, "192.168.1.149"8899, {  -- IP adress inverter
                success = function()
                    -- self:debug(data)
                    self:debug("waiting for data ...")
                    self:receiveData(socket,devicesTable)
                 end
                error = function(error)
                    print('Error:', error)
                end    
                  })    
                          
        else
            self:debug("the HC3 IP not entered in local variable")
        end
    end
     
    function QuickApp:receiveData(socket, devicesTable)
        socket:receive({
            success = function(data)
                table.insert(devicesTable, data)
                self:receiveData(socket, devicesTable)
                print(data)
                AA = string.gsub(data,"(.)",function (x) return string.format("%02x",string.byte(x)) end)
                print(AA)  --- DATA INVERTOR
            end,
            error = function(error)
                self:handleDiscoverResponse(socket,devicesTable)
            end})
        end 
     
    function QuickApp:handleDiscoverResponse(socket,devicesTable)
     -- self:debug(json.encode(devicesTable))
      data2 = json.encode(devicesTable)
      print(data2)
        
     self:debug("data received, closing UDP")
     socket:close()
    end

     

     

    Today I have a data with this :

    aa557fc001868c0e7500010105b200000001e30003005000ff00050064006400001200125f01000001092f000100db138301092f0009007513800102011d000000000001de2e00006f708acd898d00027ae5000c01003002007300010000ffc301080006000016031d05292d0000000000000000000000000000000000000000000000000000d3d50000b6a00200000000000016f9

     

    So it is same data like HA.

     

    Maybe probably, somebody to help me translate data into variables like in HA  Isn't there someone who knows the phython and would be able to help translate code to LUA?

     

     

    Please login or register to see this attachment.

    Edited by Martin555
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • I have it first experimenal. It is working  I have now some values.

    Please login or register to see this image.

    /monthly_2022_11/a.png.493dee5758348263e41f3580cc75becd.png" />

    • Like 1
    Link to comment
    Share on other sites

    • 0

    @Martin555 I also have that solar inverter and I am really interesting in create a quick app for it. Could you share your current version? It will help me. I have experience with this kind of integrations so probably I can improve it and re-share again 

     

    thnx in advance

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • sure. This is QA which I have now.  if somebody want here is my QA for Goodwe EM series and QA for ET series.

    Please login or register to see this image.

    /monthly_2023_01/snimka.jpg.fea808ead7f417229d88a302886dfead.jpg" />

    Please login or register to see this attachment.

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

     Share

    ×
    ×
    • Create New...