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


  • 3

Goodwe HC3


Martin555

Question

Hello,

 

I did it. I have QA for local connection with HC3 and Goodwe  series like in Homeassistance for ET, EM and DT series. QA are down on sites. If you wnat help or if you want QA contact me with message

 

Please login or register to see this image.

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

 

 

 

 

Edited by Martin555
  • Like 3
Link to comment
Share on other sites

Recommended Posts

  • 0
  • Inquirer
  • .If you want QA fo ET, EM, ES or DT serries contact me via message

     

    Edited by Martin555
    • Like 1
    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

     

    ---- Searching after inverters on the network ----
    function QuickApp:searchInverters()
        self:debug("Searching inverters by broadcast to port 48899")
        local payload = "WIFIKIT-214028-READ"
        socket = net.UDPSocket({timeout = 3500, broadcast, true})
        socket:sendTo(payload, "255.255.255.255"48899, {
            success = function ()
                self:debug("waiting for response inverters...")
                socket:receive({
                    success = function(response)
                        print("response")
                        
                        socket:close()
                    end,
                    error = function(error)
                        socket:close()
                    end
                })
            end,
            error = function(error)
                print('Error:', error)
            end
        })
    end
     
    ---- Request about inventer model and serial number ----
    function QuickApp:discover()
        self:debug("Probing inverter at")
        local payload = string.char(0xaa,0x55,0xc0,0x7f,0x01,0x02,0x00,0x02,0x41)
        
        devicesTable = {}
        socket = net.UDPSocket({timeout = 3500, broadcast, true})
        socket:sendTo(payload, self.ip1, 8899, {  -- IP adress inverter
            success = function()
                self:debug("waiting for response model type...")
                socket:receive({
                    success = function(response)
                        modelName = string.sub(response,13,22)
                        serialNumber = string.sub(response,39,54)
                        print(modelName)
                        print(serialNumber)
                        self:updateView("label3","text","Typ:  "..modelName.. "\n   S/N: " ..serialNumber)
                        
                        socket:close()
                    end,
                    error = function(error)
                        socket:close()
                    end
                })
            end
            error = function(error)
                print('Error:', error)
            end    
        })
    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?

     

     

     

    Edited by Martin555
    • Like 1
    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 2
    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" />

     

     

    1. child - instant FVE produktion PV1 and PV2

    2. child - Battery

    3. child  instant home consumption

    4. child  instant pgridd from network

    5. child instant pgridd to network

    6.  child TodaysPVGeneration

    7. child Battery impoort

    8 child Day home consumption

    Edited by Martin555
    • Like 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • For ET I do it now. You have to wait. I have now this. If you want new with child send me message

     

    Edited by Martin555
    Link to comment
    Share on other sites

    • 0

    GoodWE makes a lot of different models. 

    I Tried both QA's on my GoodWe GW5000-DT 3-phase model but no replies and no data unfortunately.

    I bought a HomeWizzard P1 that can read out my smart electricity meter so I do get some insight in my solar panels.  

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • I aslo have for DT . For DT is commnd - 

    (0x7f,0x03,0x75,0x94,0x00,0x49,0xd5,0xc2)

     

     

     That's basically qa. IF you manage to get the data, then the data will only be distributed.

    Edited by Martin555
    • Like 1
    Link to comment
    Share on other sites

    • 0
    9 hours ago, Martin555 said:

    I aslo have for DT . For DT is commnd - 

    (0x7f,0x03,0x75,0x94,0x00,0x49,0xd5,0xc2)

    Please login or register to see this attachment.

     

     That's basically qa. IF you manage to get the data, then the data will only be distributed.

    Thanks! I Will give it a go tomorrow and let you know.

    Link to comment
    Share on other sites

    • 0

    Hi Martin, perfect, it works like a charm for one of my DT models.

    The second one is telling me it's waiting for data but nothing seems to happen.

     

    The other one is excellent ! Thumbs up!

     

    (Oh, and one minor detail. It would be nice to have the description of. the child devices in the main dashboard also in English :) )

    Edited by GeeMoney
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • 2 hours ago, GeeMoney said:

    Hi Martin, perfect, it works like a charm for one of my DT models.

    The second one is telling me it's waiting for data but nothing seems to happen.

     

    The other one is excellent ! Thumbs up!

     

    (Oh, and one minor detail. It would be nice to have the description of. the child devices in the main dashboard also in English :) )

    Sorry , That I that I don't have a description of the English language, but I can help with the translation and adjust the chili according to your needs. Everyone has different needs.

    Link to comment
    Share on other sites

    • 0
    22 hours ago, Martin555 said:

    Sorry , That I that I don't have a description of the English language, but I can help with the translation and adjust the chili according to your needs. Everyone has different needs.

    Problem is clear. My other Inverter's firmware version is too low and local UDP is not enabled in my firmware yet.

    I Have asked Goodwe for a newer firmware level but not sure if I can get it as support seems to be gone already for this specific model.

     

    Anyway, if you have a recent firmware or DT model Inverter the QA works perfect !! Thanks Martin for the great work.

    Link to comment
    Share on other sites

    • 0

    Nice, I'm also going to give this one a try and see what I can use / re-use.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Hi,

    I have a new version for EM series. This version has a new Days  and Years values.  If you want to try or help , if you have QA contact me with message.

     

     

    Please login or register to see this attachment.

    Edited by Martin555
    • Like 1
    Link to comment
    Share on other sites

    • 0

    Good afternoon Martin. My second Goodwe is now also working as expected ! Many thanks for these great QuickApps.

    Goodwe has upgraded my firmware remotely and now also sends out UDP traffic that is received by your QuickApp.

    So now I can read out both Inverters and receive metrics. Excellent.

    • Like 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • On 4/4/2023 at 1:32 PM, GeeMoney said:

    Good afternoon Martin. My second Goodwe is now also working as expected ! Many thanks for these great QuickApps.

    Goodwe has upgraded my firmware remotely and now also sends out UDP traffic that is received by your QuickApp.

    So now I can read out both Inverters and receive metrics. Excellent.

    I am a happy.

    Link to comment
    Share on other sites

    • 0
    On 3/28/2023 at 5:43 PM, Martin555 said:

    Hi,

    I have a new version for EM series. This version has a new Days  and Years values.  If you want to try or help , if you have QA contact me with message.

     

     

    Please login or register to see this attachment.

     

    Hello, have you Apps for goodwe invertwer yet ? Could you send me please ?

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • On 5/22/2023 at 4:41 PM, Mysak said:

     

    Hello, have you Apps for goodwe invertwer yet ? Could you send me please ?

    send me message to messanger

    On 5/26/2023 at 4:02 PM, c.diaz said:

    @Martin555  I would like to help you with this QA, can you share me?

    Send me message to messanger

    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.

    ×
    ×
    • Create New...