Need to hold/repeat RF signal for a few seconds

Alexa sees the fireplace via the Bond skill as a switch with only on/off functions, neither of which work

@merck
Right now, integrations just support on/off on fireplaces.
Adding level control/modes is on the roadmap.

1 Like

It worked! I just opened terminal on my mac and ran the curl commands as you suggested. A few things to note: The IP address was different. I used the Ping command followed by the bondid.local to get the right IP address. Perhaps that’s just due to my network setup. Also, for some reason I could not initially see my device. I had setup the device using the fireplace shortcut when adding devices. For some reason, when I do that and then click on My Bond Bridge it shows 0 devices associated even though I see the device under My Devices. As a result, when I used curl to find my device it would not appear. I played around with adding and removing my fireplace with no success until finally I added the fireplace as a generic “Device” rather than “Fireplace”. With that, the device was associated with my bond bridge and I could find it when I used Curl.

Alexa works great with it too now… “Alexa, turn on the fireplace” and it goes to full flame!

Thanks.

2 Likes

DaDD -> What model Valor fireplace do you have (and what remote)? I also have a Valor (G4 Insert) and can learn the basic commands of the remote (“off”, “flame up”, “flame down”) but need to somehow learn “on” (which is actually holding down a two-button combo of “off”+“flame up”). This ignites the pilot and sets it to max. Off turns it off and also the pilot, so I would actually want a custom off command that sets it to no flame, but pilot still lit as they recommend to keep the pilot on during winter months.

Additionally double clicking flame up should set it to max automatically, and double clicking flame down should set it low automatically (ie. discrete commands) but the learned commands do not run quickly enough to trigger this, this PATCH stuff should work. I am surprised there is no way to do this in the GUI.

I am curious though, how you created your hi-medium-low settings, in particular the medium flame setting. Its kind of a “stateful” setting, Hi or Low you could use a discrete max or min code or just repeat flame up or down x times until its full and it wouldn’t matter on its starting point.

Medium though depends on its current state, unless your remote also supported a discrete medium setting. Ie. if the medium just simulated pushing flame up 5 times, if you are already at full it would do nothing.

Thank you Jacob. Was having same issue as DaDD

Thanks for all the good advice, I got mine patched now and it works with my gas fireplace. I would like to suggest that BOND add a simple option to the BOND App allowing any user to increase the repetitions (length of the transmitted signal) until the commands actually worked without having to resort to this programming effort… Put that under the ADVANCED section. Having people go into the API to reprogram the unit is challenging for non programmers. I documented all my steps below for novices but the forum would not let me upload a word document, only images. So I had to take a screen shot and upload an image instead. Not very user friendly in image format sorry.

1 Like

Good idea. It would be hard to make a wizard for this, but perhaps we could allow “editing” the command, and we could expose the reps field for user input. Definitely “advanced”, but less advanced than going into the API :).

BTW, epic documentation you shared!

3 Likes

This did it, I was able to make my Patch to all 3 of my signals and that worked perfectly! Thanks for all the help to the people above!

1 Like

Hey everyone first post here. I’m trying to read all this and I’m a bit confused with it all. First problem is I try to run curl and it just doesn’t open up for some reason. Is there a much easier way to up the signal repeat number without going through all these steps. I’m a real noob at this.

Welcome, @may4ield ! I’ll begin by asking some very beginner questions to get you started, since right now there isn’t a quicker way to change the signal repetition number.

Are you trying to run CURL from a Windows, Apple, or other kind of computer?

If Windows:
I believe CURL is not always default installed in some earlier versions/builds of Windows, but we can get it added no problem.
Once enabled, CURL requires you to open a CMD.EXE window in which you will type all the CURL commands.

Yeah windows 10, it looked like it was there but when I clicked on it nothing happens. So I installed it again from the website. Again when I unzip the file and click on the exe nothing happens. Am I supposed to open it another way. I saw a thing in my menu called command prompt that opens up and looks the same as when people are demonstrating curl on YouTube.

Yes, that CMD.EXE is where you’ll type all the things like in post # 4 I think it is, where Merck shared the video.

Since you mentioned installing via the zip file method (downloading and extracting), you will need to do one of two things:
Either put the curl.exe you extracted in your C:\windows\system32 folder (you’ll likely need admin rights to do that).
Or, you’ll have to change the working directory of CMD.EXE to wherever you extracted the curl.exe file.
For instance, if you extracted it to C:\temp, before you run any curl.exe commands in CMD.EXE, you will have to open CMD.EXE and type CD C:\temp\ (then press enter key).

Ok thanks, I’ll give this a go tomorrow. Do you know exactly what code I need to type in to get the signal to repeat more?

Some of the pieces of the command are unique to your Bridge (the BOND-Token) and devices (device ID), but we all try to help one another and we’ll get you through it.

Thanks guys for all the help. Didnt think I had it in me but got it all done. Cant test it out till the morning cos the wife and kids are asleep in the rooms with blinds but from all accounts the patch worked.

1 Like

Interesting if I ask the BOND for the TOKEN via CURL I get 64b4555a

curl -i http://10.10.101.65/v2/token

HTTP/1.1 200 OK

Content-Length: 52

Content-Type: application/json; charset=utf-8

{"locked":1,"pin_attempts_left":10,"_":"64b4555a"}

Using it

curl -iH "Bond-Token: 64b4555a" http://10.10.101.65/v2/devices/

HTTP/1.1 401 Unauthorized

Content-Length: 0
type or paste code here

I go to the App, and under advance find the API Token of 5934354e829ffa20

curl -iH "Bond-Token: 5934354e829ffa20" http://10.10.101.65/v2/devices/
HTTP/1.1 200 OK
Content-Length: 46
Content-Type: application/json; charset=utf-8

{"_":"09caab61","77f9d97d":{"_":"8e19e178"}}

proper response.

any thoughts on why the asking for the token respons with the Wrong Token ?

Edit, I am assuming from my reading that the

“locked”:1

is the issue, you need to issue the command within 10 min.

rebooting, and re-executing

curl -i http://10.10.101.65/v2/token

HTTP/1.1 200 OK

Content-Length: 198

Content-Type: application/json; charset=utf-8

{"locked":0,"pin_attempts_left":10,"token":"5934354e829ffa20","nonce":"963036<<snip>>sable":false,"_":"f469dfa7"}

Your edit is correct. The token is only validly returned during the first 10 minutes after boot.

(note: you may want to mask your token in your post, just for security’s sake)

Thank You - ya the Token is an interesting security

Working through POSTMAN calls, to see if I can Python this.

After drilling into /v2/devices/77f9d97d

{
    "name": "Fireplace",
    "type": "FP",
    "location": "My Room",
    "actions": [
        "TurnFpFanOn",
        "TurnOff",
        "TurnLightOff",
        "TurnFpFanOff",
        "TurnOn",
        "TurnLightOn",
        "IncreaseFlame",
        "TogglePower",
        "Stop",
        "ToggleLight",
        "DecreaseFlame",
        "SetFlame",
        "SetFpFan"
    ],
    "_": "8e19e178",
    "commands": {
        "_": "cd31f3b8"
    },
    "state": {
        "_": "22efe7af"
    },
    "properties": {
        "_": "c5834763"
    },
    "skeds": {
        "_": "f6d69ea5"
    }
}

I can then pull the commands /v2/devices/77f9d97d/commands

{
    "_": "cd31f3b8",
    "11dc1acf": {
        "_": "e396a56c"
    },
    "53157df9": {
        "_": "dff3a9b7"
    },
    "1350a1df": {
        "_": "c0a15c22"
    },
    "5e9136dc": {
        "_": "433e3f5b"
    },
    "6d0eacd3": {
        "_": "cc680753"
    },
    "7d8fbc76": {
        "_": "f3c49fea"
    },
    "5777bc38": {
        "_": "faa728f1"
    },
    "4c46a778": {
        "_": "3ad69a1d"
    }
}

how do I map / link a given command to the function on the remote?

In the above I want TurnLightOn to be a repetition of 5, how do I map the function TurnLightOn to the command key? Or put another way is there a mapping of Commands to Actions

Reps is in the Signal portion of the Commands node.

This video Merck did at the top of the thread is a superspeed run of how to modify the repetitions count.
(You shouldn’t have to worry about which Action calls which Command, and I don’t believe you can change those; however, if you’re curious anyways, when you look at each Action, it should say which Command it does.)