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


HC3 : Broadlink HUB (with support RM4)


10der

Recommended Posts

 

@raphael02 Many thanks for your code. Do you have the same for RF?

 

 

 

On 4/21/2023 at 11:00 PM, raphael02 said:

I added the following "learn" functions myself to the posted hub FQA (LearnIRCode (instead "learn" and GetLearnedIRCode can then be used in the "control" FQA to learn and acquire the code):

 

 

function RM4:LearnIRCode(func)
    local payload = makeEmptyTable(16)
    payload[1] = 0x04
    payload[2] = 0x00
 
    payload[3] = 0x03
 
    self:sendPacket(
        0x6a,
        payload,
        function(actionResult, errCode, payload)            
            func(actionResult, errCode, payload)
        end
    )
end
 
function RM4:GetLearnedIRCode(func)
    local payload = makeEmptyTable(16)
    payload[1] = 0x04
    payload[2] = 0x00
    payload[3] = 0x04
 
    self:sendPacket(
        0x6a,
        payload,
        function(actionResult, errCode, payload)            
            func(actionResult, errCode, payload)
        end
    )
end
 
 
function QuickApp:LearnIRCode(ipAddress, deviceType)
 
    local device = nil
    if deviceType and deviceType == 0x51da then
        device = RM4(ipAddress)
        self:debug("RM4")
    else
        device = RM3(ipAddress)
    end
 
    device:auth(
        function(authResult, errCode, payload)
            --print("AUTH", authResult, errCode, dump(payload))
            if authResult then
                device:LearnIRCode(
                    function(actionResult, errCode, payload)
--            print("AUTH", authResult, errCode, dump(payload))
                    end
                )
            else
                self:error("Can`t auth device " .. ipAddress)
            end
       end
    )
end
 
function QuickApp:GetLearnedIRCode(ipAddress, deviceType)
 
    local device = nil
    if deviceType and deviceType == 0x51da then
        device = RM4(ipAddress)
        self:debug("RM4")
    else
        device = RM3(ipAddress)
    end
 
    device:auth(
        function(authResult, errCode, payload)
            --print("AUTH", authResult, errCode, dump(payload))
            if authResult then
                device:GetLearnedIRCode(
                    function(actionResult, errCode, payload)
--                   print("AUTH", authResult, errCode, dump(payload))
 
             local strOut = ""
             for i, plelement in ipairs(payload) do
             --strOut = strOut .. string.char(plelement)
 
               -- *** Cut first 6 data elements (prefix 152 0 4 0 0 0 (dec)) form learned code, each valid code starts with 2600 (hex) and edns with 000d05 (hex) ***
               if (> 6) then
                 -- *** Convert returned data from number to ASCII data ***
                 strOut = strOut .. toHex(string.char(plelement))
               end
             end
 
             print ("Learned code: ", strOut)
           end
                )
            else
                self:error("Can`t auth device " .. ipAddress)
            end
       end
    )
end

 

 

 

 

 

 

The returned code is already hex, so it doesn't has to be base64 decoded and converted to hex before sending.

 

Link to comment
Share on other sites

  • 1 month later...
On 5/9/2023 at 5:50 AM, PallasCat said:

@brv29a you need to downgrade RM 4pro firmware from v62093 to v62092. it worked for me. 

How would you access any of those two versions?

I'm stuck on v52079.

 

 

Link to comment
Share on other sites

  • 3 weeks later...
On 6/10/2023 at 5:07 AM, uKER said:

How would you access any of those two versions?

I'm stuck on v52079.

 

 

I upgraded to 62093 via broadlink app on smartphone. then asked support team to send previous version [email protected] 

Link to comment
Share on other sites

  • 3 months later...
On 19/4/2023 at 7:07, ABDULLAH258 said:

@brv29a Lamentablemente no encontré ninguna solución. Desactivé el antivirus y desactivé el firewall pero no pasó nada.

This is the only solution that can be done, and it did help me to get the IR codes. I did not find any solution to be able to extract the IR codes with the Broadlink Manager application.

 

Link to comment
Share on other sites

On 10/19/2023 at 6:18 PM, castillo marco arturo said:

This is the only solution that can be done, and it did help me to get the IR codes. I did not find any solution to be able to extract the IR codes with the Broadlink Manager application.

 

Yes I can do it with home assistant in my home or office but this is not capable in client's house so I am still working with linux

  • Like 1
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
Reply to this topic...

×   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...