Force use of remote template?

I have 3 of the same fans I’m trying to configure to work with a new bond bridge, Home Depot “Home Decorator Collection Bayshire”. Remotes are FCC ID 2ABUP-FT1212R.

I see that this FCC ID is not officially supported. However, as I’ve added all 3 fans to my new bond bridge, 2 of them were recognized and assigned template “RCF259”. This template seems to have the correct buttons and works to control the fans. For some reason though, the 3rd fan will not be recognized to use the template, I’ve tried removing it and re-adding it a few times.

Is there a way to force it to use the same template? If not, is there some best practice to get it recognized?

The primary reason I need the template is that the template comes with “Dim Down” and “Dim Up” buttons that work to dim the lights. However, there are no Dim Up/Down command options if I am manually programming the commands.

Any recommendations are appreciated.

You could do this on the API. You could look at the first fans’ configuration and then force it on a POST devices call. However, you’d need to somehow get the right address devices/{}/properties.addr. — But that’s getting deep in the weeds.

You can try different distances from the Bridge while recording, or repeatedly tapping versus holding down the button. That sometimes gets it to see the signal clearly.


Crazy theory: Maybe the third remote is actually a different RF protocol? — Can you pair your third remote with the first or second fan? — Sometimes protocol changes despite appearing the same (though usually it’s the other way around).

I have the same FCC ID for my fans. I’m tempted try this to hopefully get some of the other functions working. I’m comfortable using Postman (or writing some code). Any suggestions for how to handle this? Right now I don’t see my fans as being associated with any template.

Really odd that it is not recognized despite having the same FCC ID. Theoretically you could look at the signals data for the manually recorded 3rd remote and compare to a manually recorded copy of the 1st or 2nd remotes. This is at devices/{}/commands/{}/signal Bond Local API

It’s not an easy one though. But if you’re into it you could dig and figure out the difference by looking at the hex data.

Just to be clear, OP and I are different. I have 4 of these, and none of them were recognized / have a template set.

To test the template, I think I’d want to create a new device with the API and specify template “RCF259” when creating it.

However, it says in the docs:

Most templated devices need additional parameters, such as an address addr, frequency freq, bits per second bps, and length of the zeros between repetititions zero_gap. These should be specified in an object properties in the POST body.

I tried pulling this data from one of the existing devices, but they didn’t list these properties, for example this is all that is returned for properties:

{
    "max_speed": 6,
    "trust_state": false,
    "_": "9be84ea4",
    "__": "9be84ea4"
}

When I checked a specific signal I was able to find the frequency and bps, but not the address or zero gap.

    "freq": 433850,
    "bps": 40000,
    "deviation": 0,
    "reps": 1,
    "modulation": "OOK",
    "encoding": "hex",
    "data": ...

@jon (who I now recognize as not OP :slight_smile: ), try the devices/{}/state endpoint. We have a bit of confusion here on state vs properties. You would include all in the properties field of the POST to devices though, the Bridge will move some of them to the initial “state”.

We are getting into the Dark Side of the API here.

Thanks!

My favorite :wink:

Unfortunately state only returns:

{
    "power": 1,
    "speed": 6,
    "direction": 1,
    "light": 1,
    "_": "588cd3c9",
    "__": "588cd3c9"
}

Sorry I’ve got to run here rn, but I think I see what is going on. You have raw-recorded devices, hence the encoding: hex. So there’s no properties associated with a template. You could look into the signal data but then you have to rev eng it. (That’s basically what we did for all of these.)