jimb0b / broadlink-virgin-360-codes

IR blaster codes for the Virgin 360 box in the UK. Can be used by Broadlink devices.
1 stars 0 forks source link

Cannot get codes working with my Broadlink devices #2

Open davepearson1628 opened 6 months ago

davepearson1628 commented 6 months ago

Hi @jimb0b

Unfortunately I couldn't get your codes to work with either my Broadlink RM4 Pro, or my Broadlink RM4C Mini.

It would be great if I could get them to work - if you need me to upload any Home Assistant logs or anything, please let me know, although when I test in Home Assistant, the command is successfully sent and I see the IR light blink on the Broadlink devices, so I think Home Assistant is happy with the codes.

Regards, Dave.

davepearson1628 commented 4 months ago

Only tested on the Arris box, so far, I'll test it on the Humax box in the morning

davepearson1628 commented 4 months ago

Just tested on the Humax TV360 and it all looks good.

davepearson1628 commented 4 months ago

Hmmmm... This is really annoying, I cannot get consistent results when I send certain commands to the TV360 box. I have a channel change script that uses the REST API to change the channel when my mythtv systems start recording, but I frequently find that the first command I send does not get received. I've only tried it on the Humax box so far - I'll try the Arris box later.

This is the code I am using, where the 1st variable is the channel and the 2nd is the Broadlink Device:

echo $1 $2

case $2 in TV_1) REMOTE="remote.lounge_remote" ;; TV_2) REMOTE="remote.office_remote" ;; esac

arr=() for ((i = 0; i < ${#1}; i++)); do arr+=(${1:$i:1}) done

for x in "${arr[@]}"; do echo "Sending " $x curl -X POST \ -H "Authorization: Bearer "long_token_here” \ -H "Content-Type: application/json" \ -i http://192.168.0.250:8123/api/services/remote/send_command \ -d '{"entity_id": "'$REMOTE'", "device": "virgin_tv_remote", "delay_secs": "0.4", "hold_secs": "0.75", "command": "'$x'"}' sleep 0.5 done

robertwigley commented 4 months ago

@davepearson1628 Sorry, I am not following what this is, how it works or what it's meant to do. This doesn't looks like a Home Assistant script. It looks more like a Windows batch file.

davepearson1628 commented 4 months ago

It’s a bash script to use Home Assistant to change the channel. Unfortunately the Broadcom doesn’t reliably send each ir press, my script using the Panamalar box still seems to be the most reliable.

I did find the same thing when I used the BroadLink iPhone app to send it commands too.

robertwigley commented 4 months ago

@davepearson1628 Is there a particular code or command sequence this happens with, or is it for all codes? Maybe some need to be relearnt to be 100% reliable. Does it behave the same when the same code or command combination is put into an automation? If you can let me know what command/button combination(s) fail, I can try to replicate and test it here in an automation. I did not test sending button combinations, I was just happy that I had finally been able to learn all buttons.

The main reason I ask this is because while learning the buttons I found in a few cases I had to relearn a few becuase they were only intermittently being sent.

Is there a particular reason you are using this script method rather than an automation?

I would also be interested to hear if it's confined to the Humax box, or if it's the same on the Arris one.

davepearson1628 commented 4 months ago

It's not confined to one box, it does the same on both of my boxes.

It seems to be the 2 mostly, so if I send 2 9 5 the 2 isn't detected and the 9 and 5 are It also seems to happen if I send something like 1 0 2

The annoying thing is that if I send the command sequence a 2nd time, often all 3 commands are received.

I've tried re-siting the Broadlink box in various locations, to no noticeable effect.

robertwigley commented 4 months ago

That's interesting. 2 was a problem button to learn. I will try relearning it...

robertwigley commented 4 months ago

@davepearson1628 Please can you try these two codes for button 2 and see if either of them work on either of your boxes?

"2a": "AAAAcwAAABIADwAKAAYACgAGABYABgAKAAYACgAGABwABgAKAAYACgAGAAoABgAKAAYAFgAGABAABgAWAAYACgAGAAoABgAKAAYAFgAGDKs=",
"2b": "AAAAcwAAABIADwAKAAYACgAGABYABgAKAAYACgAGABwABgAKAAYACgAGAAoABgAWAAYAFgAGABAABgAWAAYACgAGAAoABgAKAAYAFgAGDJ8="

I found a code reference for hex codes for Ziggo, which I converted to Base64 hoping that these would be the exact codes needed. Unfortunately, neither of these work with my box, so it looks like relearning is required.

davepearson1628 commented 4 months ago

Sadly neither of those codes work at all for me.

robertwigley commented 4 months ago

@davepearson1628 I have relearnt button 2 and it seems to be working reliably. Please can you try the following code and see if this makes a difference for you.

"2": "JgBMAA0IBQkFFQUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFCgUJBRQFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQkFFAUADQU=",

davepearson1628 commented 4 months ago

It seems to be a lot better, but not 100%, that could be down to the position of the transmitter, or, possible, delay and hold settings when I send commands from HA. I’ll investigate further.

The only other number that I seem to have some problems with is 4 - is that working OK for you?

robertwigley commented 4 months ago

@davepearson1628 Looking at the codes in the file, most of them seem to end with = or ==. The code for 2 did not have an = at the end of it until I relearnt it. 4 is also not ended with an =. I am wondering if = denotes the end of a code. Fast Foward, Rewind and Left are the only others that are not ended that way. Would you try adding an = to the end of the existing code and see if that improves it before I attempt to relearn it?

I will test the existing code for 4 more thoroughly this evening to see if I can get it to fail at all, and also try adding an = to the end of it and/or try relearning the code, dependent on what I find and what you find after adding = to the end of it.

One thing I did was used my phone camera to look at the OFA remote IR emitter position. It is towards the bottom of the front, and not underneath as I thought given the nearly vertical position I have been having to hold it in to learn these codes.

I did the same for the Broadlink Mini, but was unable to see where the IR emitter was on that. I think the glossy circluar part on the top of it is probably scattering the signal 360 degrees, which is why I can't see a light point as I can on the remote. However, I am wondering if it's actually coming from the top of the Broadlink and scattering it in all directions. I will have another look at this once it's dark outside and I can darken the room significantly.

robertwigley commented 4 months ago

@davepearson1628 This explains the = sign at the end and it sounds like it does not denote the end of a code after all. It's padding that's added if the code is not a block of 3.

I therefore suspect that adding = to the end won't make any difference, but it might still be worth trying.

robertwigley commented 4 months ago

@davepearson1628 I found a video teardown of the RM3 Mini. There are 7 IR emitters in that, covering all directions (I am not sure why I couldn't see any of them through the phone camera though), so I would assume that the RM4 is the same. Therefore, positioning really shouldn't be an issue as the signal really is being broadcast in all directions from the top of the device.

As the IR emitters are all angled upwards, if the Broadlink is placed above the Virgin box, it might not receive the signal as well/reliably. I guess you could try pointing the top of it directly at the box as there is one emitter that fires straight up. See the video link and you will see what I mean.

robertwigley commented 4 months ago

@davepearson1628 Can you also try with 1 or 2 second delay between code sends? From what I can make out on the Ziggo forums here this is required when using the Logitech Harmony at least.

robertwigley commented 4 months ago

@davepearson1628 Please can you try this new code for button 4. It hasn't failed for me during my brief testing (about 20 sends).

"4": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUJBRQFDwUUBQoFCQUPBQkFAAt8DwgFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQ8FCQUADQU=",

Looking at the other codes for numbers, there appears to be a pattern and it looks like 3 and 9 are incorrect. Have you had any problems with either of them?

davepearson1628 commented 4 months ago

I won’t get a chance to check tonight, but will do when I get home from work tomorrow. 3 & 9 seem to be ok, I don’t recall any problems with them, but I’ll check them again I have a .75 second delay, if I make it any longer the TV360 thinks I’ve finished

robertwigley commented 4 months ago

@davepearson1628 Thanks. I appreciate you testing these. I have a new code for 9 that appears to match the same pattern as the others and seems to work consistently.

"9": "JgBMAA0IBgkFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQoFCQUUBQ8FAAt9DQgGCQUUBQoFCQUaBQkFCQUKBQkFFQQPBRUFCQUJBRUFDgUADQU="

I'll work on 3 next...

robertwigley commented 4 months ago

@davepearson1628 And here's the new code for 3 that also matches the same pattern and seems to work consistently. It's definitely much easier to learn these in a darkened room.

"3": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUUBQoFCQUKBRkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUFCQUJBQoFGgQADQU=",

robertwigley commented 4 months ago

For ease, reposting the updated and current full set:

{
  "version": 1,
  "minor_version": 1,
  "key": "broadlink_remote_XXXXXXXXX_codes",
  "data": {
    "virgin_tv_360": {
      "power": "JgByAA0IBQoFFAUJBQoFGQUKBQkFCgQVBBUFDwUUBQoECgUaBAoFAAt9DQkFCQUUBQoFCQUaBQkFCgUJBRQHEwQPBRUFCQUJBRoFCgQAC30OCAYJBRQFCQUKBRoECgUJBQoEFQUUBQ8FFAUKBAoFGgUJBQANBQ==",
      "play_pause": "JgBMAAwJBQkFFQUJBQkFGgUKBQkFCQUKBRQFDwUUBQkFGgUJBgkFAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQUPBBUFCQUaBQkFCgQADQU=",
      "rewind": "JgBuAA0IFBQFCQUKBBoFCgUJBQkFCgUUBQ8FFAUJBhQFFAUPBQALfA4IFRMFCQUKBRoFCQUJBQoFCQUUBQ8FFAUKBRQFFAcNBQALfgwJBQkFFAUKBQkFGgUJBQoFCQUJBhQFDwUUBQkFFAUVBQ4GAA0F",
      "fast_forward": "JgB0AA0IFBQFCQUJBhkFCQUKBQkFFQQVBQ8FFAUJBRQFFQYHBwALew4IBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUVBgcHEwUUBQoFAARzCwAG/g4IBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBQkGFAUUBQkFAA0F",
      "record": "JgBwAAwIFRMFCQYJBRoFCQUJBQoFFAUUBQ8FFAUKBRkHDQUaBgALew4IBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFGQUPBRoGAAt8DQgGCQUUBQkGCQUaBQkFCQYJBRQFFAUPBRQFCgUZBg4FGgUADQU=",
      "channel_up": "JgBMAA0IBQkFFQUJBQkFGgUJBQoFCQUKBRQFDwUUBQkFFQUJBQkFAAt9DgcHCAYUBQkFCQUaBQkGCQUJBQoFFAUPBRQFCQUUBgkFCQUADQU=",
      "channel_down": "JgBMAA0IBQkGFAUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFFQUJBQ8FAAuEBggGCQUUBQkGCQUaBQkFCQUKBQkFFAUPBRQFCgUUBQkFDwUADQU=",
      "1": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUJBhQFDwQVBQkFCgUJBQ8FAAt8DggFCgUUBQkFCgUZBQoFCQUKBQkFFAUPBRQFCgUJBQkFDwUADQU=",
      "2": "JgBMAA0IBQkFFQUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFCgUJBRQFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQkFFAUADQU=",
      "3": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUUBQoFCQUKBRkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUFCQUJBQoFGgQADQU=",
      "4": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUJBRQFDwUUBQoFCQUPBQkFAAt8DwgFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQ8FCQUADQU=",
      "5": "JgBMAAwIBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFCQUPBQ8FAAt8DggGCQUUBQkFCgUZBQoFCQUJBRUFFAUPBRQFCQUKBQ8FDgUADQU=",
      "6": "JgBMAAwIBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQoFCQUPBRQFAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQUPBRQFCQUJBg4FFQUADQU=",
      "7": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBQkFCgUPBRkHAAt6DggGCQUVBAoFCQUaBQkFCgUJBRQFFQUOBhQFCQUJBQ8FGgUADQU=",
      "8": "JgBMAA0IBQkFFQUJBQkFGgUJBQoFCQUKBBUFDwUUBQkFCgUUBQkFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQkFFQUPBRQFCQUKBRQFCQUADQU=",
      "9": "JgBMAA0IBgkFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQoFCQUUBQ8FAAt9DQgGCQUUBQoFCQUaBQkFCQUKBQkFFQQPBRUFCQUJBRUFDgUADQU=",
      "0": "JgBMAAwIBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFCQUKBQkFAAt8DggGCQUUBQkGCQUaBQkFCQUKBRQFFAUPBRQFCgUJBQkFCgUADQU=",
      "guide": "JgBIABUTBQoFCQUaBQkFCQYJBQkFFAUPBRUFGQcHBhkFCgUAC3wOCAYJBRQFCQUKBRkFCgUJBQkGCQUUBQ8FFAUaBQkFGgUJBQANBQ==",
      "info": "JgBwAAwIBgkFFAYJBQkFGgUJBQoFCQUJBRUFDwQVBRkFCgUUBRoGAAt8DQgGCQUUBQkFCgUZBQoFCQUJBgkFFAUPBRQFGgUJBRQHGAcAC3sNCBUTBQoFCQUaBQkFCgUJBQkFFQQPBRUFGQcHBhQFGgYADQU=",
      "home": "JgBuAAwIBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBRoFDwUUBRoFAAt8DggVEwUJBQoFGQUKBQkFCQUVBRQFDwUUBRoGDQYUBRkHAAt7DQgVFAQKBQkFGgUJBQoFCQUUBRUFDgYUBRkHDQUUBRoFAA0F",
      "up": "JgBMAA0IBQkGFAUJBQoEGgUKBQkFCQUVBRQFDwUUBQ8FDwUUBQkFAAt9DQgGCQUVBQkFCQUaBgcHCQUJBRQGFAUOBRUFDwUOBRUFCQUADQU=",
      "down": "JgBMAAwIBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQ8FDwUUBQ8FAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkGFAUPBRQFDwUOBRUFDwUADQU=",
      "left": "JgBKAAwIFRMFCgUJBRoFCQUKBQkFCQUVBQ4FFQUPBQ4FFQUUBQALfA4IBgkFFAUJBgkFGQUKBQkFCgUJBRQFDwUUBQ8FDwUUBRQFAA0F",
      "right": "JgBMAAwIBgkFFAUKBQkFGgUJBQkFCgYTBRQFDwUUBQ8FDwUUBxgFAAt9DQgGCQUUBQkFCgUaBQkFCQUKBRQFFAUPBRQFDwUPBRQFGgUADQU=",
      "ok": "JgBMAAwIBgkFFAUKBQkFGgUJBQkFCgUUBRQFDwUUBQ8FDwUaBQkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUGDQUPBRoFCQUADQU=",
      "back": "JgByAAwIBgkFFAUJBgkFGQUKBQkFCgUJBRQFDwUUBQ8FCgUZBQ8FAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQQPBhQFDwQKBRoFDgUAC30OCAUJBRUFCQUJBRoFCQYJBQkFCgUUBQ8FFAUPBQkFGgUPBQANBQ==",
      "mute": "JgByAAwIBgkFFAUJBQoFGQYJBQkFCgUJBRQFDwUUBQoFCQUaBQ8FAAt8DggGCQUUBQkFCgUZBQoFCQUJBgkFFAUPBRQFCgUJBRoFDgUAC30OCAYJBRQFCQUKBBoFCgUJBQkFCgUUBQ8FFAUJBQoFGgUOBQANBQ==",
      "red": "JgCWAAwIFRMFCQUKBRkGCQUJBQoFCQUUBQ8FFAUPBRQFGgUPBQALfA4IBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQ8FFAYZBQ8FAAt8DggGCQUUBQoFCQUaBQkFCQUKBQkFFQUOBRUFDgUVBRkFDwcAC3oOCAYJBRQFCgUJBRoFCQUKBQkFCQUVBQ8EFQUPBRQFGQYOBQANBQ==",
      "green": "JgByAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUVBA8FFQUZBxIGAAt8DggFCQYUBQkFCQYZBQkFCgUJBRUEFQUPBRQFDwUUBRoGEwUAC3wOCAYJBRQFCQUKBRoECgUJBQoFFAUUBQ8FFAcNBRQFGgUUBQANBQ==",
      "yellow": "JgByAA0IBQoFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQ8FFAcYBhkGAAt7DggFCgUUBQkFCgUZBQoFCQUJBQoFFAUPBRQFDwUUBRoFGgYAC3sOCAUKBRQFCQUKBRkFCgUJBQkFCgUUBQ8FFAUPBRQFGgYZBgANBQ==",
      "blue": "JgByAAwIBQkGFAUJBQkFGgUKBQkFCQUKBRQFDwUUBQ8FGgYHBwgGAAt8DggFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFDwUZBQoFCQUAC30NCAYJBRUFCQUJBRoFCQUKBQkFCQUVBQ8FFAUPBRkFCgUJBQANBQ=="
    }
  }
}
davepearson1628 commented 4 months ago

Thanks, I'll test them all again tomorrow

jimb0b commented 4 months ago

Amazing efforts guys! Just wanted to pop in to say I've not gone anywhere, I just figured I should wait until you've both confirmed working codes before I test with my HW as mine seems to be far less sensitive 👍

davepearson1628 commented 4 months ago

I've been doing quite a bit more playing and have discovered that my Broadlink RM4 Pro frequently fails to send the ir commands, I have no idea why. After a while, I decided to try my other Broadlink device, because I know that @robertwigley was having great success with his devce(s).

My Broadlink RM4C Mini seems to send them all reliably, I just needed to adjust the "hold_secs" setting in my script to 0.75 and remove the sleep between key presses to get the TV360 to respond reliably - too long a delay and it did not receive all 3 numbers in time and it switched to the nearest channel (100), but it did receive all 3!. (with the Paramalar boxes, I had to put a delay in, otherwise sending 122 would result in only 12 being transmitted from the device).

Looks like I may need to invest in another RM4C Mini :-)

robertwigley commented 4 months ago

@davepearson1628 Thanks for the update. It's good to hear that it's operating fairly reliably for you now with the RM4 Mini. It's interesting you should say that about the RM4 Pro, as while reading up on IR universal remotes there are a lot of reports of the RM4 Mini having better IR emitters in it than the RM4 Pro. I guess it could also be because they were learnt on an RM4 Mini, although in theory it shouldn't make a difference.

With all the research I have been doing around this subject I found some information about proprietary remotes and, in particular, section 4 "Parity & Toggle Bits". I have a feeling this may be applicable in the case of the Virgin 360 box, as, for me, it explains quite a bit of what we have been seeing. Knowing this, there is a possibility I may need to use the Alternative attribute to learn a secondary code for some of these buttons if any of them are not working consistently.

If you find any more buttons that are inconsistent and I need to relearn, maybe with the Alternative attribute set, please let me know. Looking at the code file, I suspect that the code for the Red button is incorrect. It's significantly longer than the other colour buttons, but as I don't know what these are used for and where, I haven't been able to test it and it seems a bit pointless relearning, as it could be correct and the other three colours not. If either of you can figure out how/where to test these, then please let me know.

@jimb0b I think we're probably at a point where it would be good if you could test these codes to see if they are working consistently for you. Out of interest, are you using an RM4 Pro or Mini?

davepearson1628 commented 4 months ago

I’ve found some info about the red and green buttons here

robertwigley commented 4 months ago

@davepearson1628 @jimb0b Slightly off-topic, but unless the integration is fixed and you start using it again, it's worth considering putting the Virgin box "Standby power consumption" setting back to the default "Active start", rather than "Fast start" that was needed for the integration to work. My power monitoring plug, which I am using to detect on/off state, is showing that in "Fast start" the box uses approximately 10-11W in standby, whereas in "Active start" it only uses 1-4W. When turned on the box draws 12-15W. I haven't tried "Eco (slow start)", but I can't see an advantage to saving a bit more power over "Active start" at the expense of taking longer to start up.

robertwigley commented 4 months ago

@davepearson1628 @jimb0b One advantage I have found from switching back to "Active start", other than saving a bit of power, is that you can actually get the boxes power (on/off) state without using a power monitoring plug. It's not perfect, as the box takes about 5 minutes to enter sleep after you power it off and, for some reason, it briefly displays an unknown state between on and off. However, for powering on, it is very fast to update, quicker than my power monitoring plug in detecting the state change.

You can do this by creating a command line binary sensor in configuration.yaml that tests the connection to one of the open network ports (8081, 8091, 8093, 9080) when the device is powered up. This doesn't work when it's set to "Fast start" as doesn't go to sleep and continues to respond, always showing on. Anyway, here's the YAML in case you find it useful.

# Command Line
command_line:
  # Virgin TV 360 Port State
  - binary_sensor:
      name: Virgin TV 360 Port State
      command: 'nc -z 192.168.0.80 8081 > /dev/null 2>&1 && echo ON || echo OFF'
      icon: mdi:set-top-box
      scan_interval: 5
davepearson1628 commented 4 months ago

@robertwigley That's great, I didn't even think of monitoring ports to see if the TV360 box is on or not, I was spoilt, I guess, by the integration. I've set up port monitoring so I will now get notified if one of my boxes goes offline for any reason - very useful. In my testing, though, powering the TV360 off and then back on, led to my mythtv system being unable to record from it. I'll do some more testing, but will probably just leave the boxes powered on permanently.

robertwigley commented 4 months ago

@davepearson1628 I am getting intermittent false detections of power on with the power monitoring plug. I think the box is drawing higher power to do updates of some description, so I thought I would try a ping sensor to detect it's on/off state. However, the box doesn't respond to pings. So I thought if I scan for open ports, I could pick one (from what I've read 8081 is HTTP) and probe it instead. Whether this will get rid of my false on detections I am not sure. There may be no way of reliably telling if the box is on or off, but I thought it could be useful anyway, even if it's just to monitor it being online, as you suggest.

All this has got me wondering if there is a way to send commands over IP locally, mainly as I am missing the discrete on and off commands that the integration provided (we only have the IR power toggle code), instead of going through Virgin's TV Go service, but unfortunately I am not skilled enough to know how to even attempt something like that.

davepearson1628 commented 4 months ago

I'm pretty sure that you'd run into the same authentication issues as are in the HA Integration

jimb0b commented 4 months ago

@robertwigley apologies for the delay, I've tested almost all your codes and all work 🎉 (I didn't test the coloured buttons except for red, as I'm not sure how to check if it was successful)

robertwigley commented 4 months ago

@jimb0b Fantastic news. It sounds like these should work for most people then with a bit of luck.

MightyWomble2020 commented 4 months ago

@robertwigley Can I ask how you got the codes? I too have a TV360 from Humax but the only codes I could get to work were the ones for Power and Home. I also bought a One4All remote and it works quite happily with the TV360 so I tried recording the output using my Broadlink RM4 Pro and although it recorded the codes, playing them back didn't work. I tried using the Broadlink NodeRed add-on as well as the remote.learn in Home Assistant and I never seemed to get exactly the same code twice and copying out a load of different results and replaying them through the Broadlink still didn't work. All of which leads me back to how are you doing it and is it different to what I've tried?

Thanks.

robertwigley commented 4 months ago

@MightyWomble2020 Do none of the latest codes I posted work with your box?

I got the codes with quite a lot of difficulty. They were learnt using an RM4 Mini. It seems that the RM4 Pro is potentially less reliable (at least at sending them) than the Mini. There's quite a knack to learning them as well.

I know it's quite long now, but please read through the thread, as all the information you should need is documented above, including a script to help learn them more quickly.

marcelkornblum commented 4 months ago

I tried this with my setup (Virgin 360 Arris box I believe, RM4 Mini I think) and couldn't get any of the commands to work at all. I'm going to try again though as it's possible I need to play with IR sensing stuff since my box is out of the way a bit.

MightyWomble2020 commented 4 months ago

Thanks @robertwigley but the only code that works reliably for me is the 1st power button code, the shorter code you posted "JgAmAAwIBgkFFQUJBQkFGgUJBQoFCQUUBRUFDgcTBQkFCQUaBQkFAA0F" and possibly the code for "Home" but my TV360 isn't connected right now so I can't test it but none of the other codes you gave worked. I've ordered an RM4 mini from AliExpress as they're less than half the price of Amazon so I'll try that in a few weeks time when it turns up.

If I have any joy, I'll post in what works, if any, for me.

jimb0b commented 4 months ago

Hi @MightyWomble2020 and @marcelkornblum just out of curiosity, have you tried the codes in the root of this repo? Those codes don't work for @davepearson1628 or @robertwigley but I'm wondering if they might work for you? We might need to develop a small library/selection of these by the sounds of it...still - really strange behaviour!

robertwigley commented 4 months ago

Apologies for the radio silence this week. I've been busy with other projects.

That's disappointing that the latest codes are not universal, as hoped. I don't really have an explanation as to why. The only thing I can think is it's somehow environment related and I am capturing the codes that work in my room, but not for everyone.

The only way I can think of to get a definitive list of codes is to contact the box manufacturer, which I think would have to be Humax, as it looks like Arris is part of CommScope now and probably ceased production when they were aquired. Liberty Global then probably had to look for another manufacturer to produce the box i.e. Humax. I certainly can't see Virgin Media support having a clue what I am asking for if I submitted a request for the codes to them.

Alternatively I wonder if any of the Universal Remote manufacturers would release the Hex codes. They must all have them to get their remotes working.

robertwigley commented 4 months ago

@marcelkornblum Just checking that you are reloading the Broadlink integration or restarting Home Assistant after editing the broadlink_remote_XXXXXXXXXXX_codes file in .storage?

robertwigley commented 4 months ago

I don't have time to test these at the moment, but I've used irScrutinizer to generate the Broadlink Base64 codes required from a couple of online sources of codes, one of which I thought might work previously, but when I ran them through a standard Hex converter they didn't work. However, using IrScrutinizer to do the conversion has produced completely different codes that look a lot more like the ones I captured manually. If anyone has time to try these, please let me know if any of them work.

{
  "version": 1,
  "minor_version": 1,
  "key": "broadlink_remote_XXXXXXXXXX_codes",
  "data": {
    "upc" : {
      "0": "JgUuAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4ODg4ODg4ODgANBQ==",
      "1": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4ODg4ODhsADQU=",
      "2": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4ODg4bGw4ADQU=",
      "3": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4ODg4bDg4ADQU=",
      "4": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4OGxsODg4ADQU=",
      "5": "JgUqAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4OGxsbAA0F",
      "6": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4OGw4OGw4ADQU=",
      "7": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODg4OGw4ODg4ADQU=",
      "8": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODhsbDg4ODg4ADQU=",
      "9": "JgUqAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODhsbDg4bAA0F",
      "power": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODhsODhsODg4ADQU=",
      "mute": "JgUqAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4ODhsODhsbAA0F",
      "volume_up": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4bGw4ODg4ODg4ADQU=",
      "volume_down": "JgUqAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4ODg4bGw4ODg4bAA0F",
      "channel_up": "JgUsAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4OGxsODg4ODg4ODg4ADQU=",
      "channel_down": "JgUqAFEbDhsODg4ODhsbDg4OGxsODhsODg4OGw4OGxsODg4ODg4bAA0F",
      "info": "JgUqAFEbDhsODg4ODhsbDg4OGxsODhsODg4ODg4ODhsODhsbGw4OAA0F"
    }
    "ziggo" : {
      "BACK": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FCAUYBQ4FAA0F",
      "CHANNEL DOWN": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFEwUIBQ4FAA0F",
      "CHANNEL UP": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFEwUIBQgFAA0F",
      "CURSOR DOWN": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FDgUTBQ4FAA0F",
      "CURSOR ENTER": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FDgUYBQgFAA0F",
      "CURSOR LEFT": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FDgUTBRMFAA0F",
      "CURSOR RIGHT": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FDgUTBRgFAA0F",
      "CURSOR UP": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FDgUTBQgFAA0F",
      "0": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUIBQgFAA0F",
      "1": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUIBQ4FAA0F",
      "2": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUIBRMFAA0F",
      "3": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUIBRgFAA0F",
      "4": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUOBQgFAA0F",
      "5": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUOBQ4FAA0F",
      "6": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUOBRMFAA0F",
      "7": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUOBRgFAA0F",
      "8": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUTBQgFAA0F",
      "9": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUTBQ4FAA0F",
      "FORWARD": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFEwUTBQgFAA0F",
      "FUNCTION BLUE": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FGAUIBQgFAA0F",
      "FUNCTION GREEN": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FEwUYBRMFAA0F",
      "FUNCTION RED": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FEwUYBQ4FAA0F",
      "FUNCTION YELLOW": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FEwUYBRgFAA0F",
      "GUIDE": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFCAUYBQgFAA0F",
      "HELP": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRMFCAUIBQ4FAA0F",
      "I": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFDgUOBRgFAA0F",
      "INFO": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFCAUTBRgFAA0F",
      "MENU DVR": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQ4FCAUTBQ4FAA0F",
      "MENU MAIN": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFDgUTBRgFAA0F",
      "MUTE TOGGLE": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUYBQ4FAA0F",
      "PAGE DOWN": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFCAUYBRgFAA0F",
      "PAGE UP": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFCAUYBRMFAA0F",
      "PAUSE": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFGAUIBQgFAA0F",
      "PLAY": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFEwUYBQgFAA0F",
      "POWER TOGGLE": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFCAUYBQgFAA0F",
      "RADIO": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFGAUIBRMFAA0F",
      "RECORD": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFGAUOBRgFAA0F",
      "REVERSE": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFEwUTBQ4FAA0F",
      "STOP": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFGAUIBQ4FAA0F",
      "TV": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFGAUTBQ4FAA0F",
      "UPC": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFGAUTBQgFAA0F",
      "VIDEO ON DEMAND": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBRgFGAUOBQ4FAA0F",
      "VOLUME DOWN": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFDgUIBQ4FAA0F",
      "VOLUME UP": "JgUqAA0IBQgFEwUIBQgFGAUIBQgFCAUIBRMFDgUTBQgFDgUIBRMFAA0F"
    }
  }
}
MightyWomble2020 commented 4 months ago

@jimb0b I think I've tried pretty much all that was available but not the latest codes from @robertwigley (yet) and I think the only one that worked was the one for power. Hopfully I'll get the 360 setup again soon and I'll try the newest stuff and I also have an RM4 mini on its way from China as its a third the cost of Amazon and I don't mind waiting for a week or so. If I get anywhere I'll post my results.

MightyWomble2020 commented 4 months ago

@jimb0b Well the RM4 mini arrived, learing from the One4All was a bust but on the plus side the latest codes from @robertwigley for Ziggo do actually do things. I used to use the Broadlink Node-Red integration but using the codes there didn't work at all. Using the Home Assistant Broadlink integration again didn't work but editing the codes file and dropping in the values above does allow me to spoof button presses, that's the good news. The bad is that it's not consistent, pressing for "1" for example sometimes works as expected but other times I get multiple presses. Two steps forward, one step back but big thanks to Robert for persisting in generating codes to test. FWIW, the RM4 mini is plugged into the USB port on the back of the TV360 and sat on top of it. I'll try moving it somewhere else when I get a chance, in case it's the physical proximity that's the problem.

robertwigley commented 4 months ago

@MightyWomble2020 Which of the latest codes did you find worked for you? My last set of recorded ones, or one of the two sets that I converted using irSrutinizer?

MightyWomble2020 commented 3 months ago

@robertwigley It's not that they don't necessarily work, it's just not consistent. Sometimes the same code produces a single button press but other times I get multiple ones. At this point I don't know if I have a faulty RM4 Mini or there's something wrong with the Home Assistant Broadlink integration but as an example if I send "101" sometimes I'll get what I ask for but other times I might get "110" followed by a gap and then "1" although it could be a random combination of repeats or missed numbers altogether.

xpenno255 commented 3 months ago

For ease, reposting the updated and current full set:

{
  "version": 1,
  "minor_version": 1,
  "key": "broadlink_remote_XXXXXXXXX_codes",
  "data": {
    "virgin_tv_360": {
      "power": "JgByAA0IBQoFFAUJBQoFGQUKBQkFCgQVBBUFDwUUBQoECgUaBAoFAAt9DQkFCQUUBQoFCQUaBQkFCgUJBRQHEwQPBRUFCQUJBRoFCgQAC30OCAYJBRQFCQUKBRoECgUJBQoEFQUUBQ8FFAUKBAoFGgUJBQANBQ==",
      "play_pause": "JgBMAAwJBQkFFQUJBQkFGgUKBQkFCQUKBRQFDwUUBQkFGgUJBgkFAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQUPBBUFCQUaBQkFCgQADQU=",
      "rewind": "JgBuAA0IFBQFCQUKBBoFCgUJBQkFCgUUBQ8FFAUJBhQFFAUPBQALfA4IFRMFCQUKBRoFCQUJBQoFCQUUBQ8FFAUKBRQFFAcNBQALfgwJBQkFFAUKBQkFGgUJBQoFCQUJBhQFDwUUBQkFFAUVBQ4GAA0F",
      "fast_forward": "JgB0AA0IFBQFCQUJBhkFCQUKBQkFFQQVBQ8FFAUJBRQFFQYHBwALew4IBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUVBgcHEwUUBQoFAARzCwAG/g4IBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBQkGFAUUBQkFAA0F",
      "record": "JgBwAAwIFRMFCQYJBRoFCQUJBQoFFAUUBQ8FFAUKBRkHDQUaBgALew4IBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFGQUPBRoGAAt8DQgGCQUUBQkGCQUaBQkFCQYJBRQFFAUPBRQFCgUZBg4FGgUADQU=",
      "channel_up": "JgBMAA0IBQkFFQUJBQkFGgUJBQoFCQUKBRQFDwUUBQkFFQUJBQkFAAt9DgcHCAYUBQkFCQUaBQkGCQUJBQoFFAUPBRQFCQUUBgkFCQUADQU=",
      "channel_down": "JgBMAA0IBQkGFAUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFFQUJBQ8FAAuEBggGCQUUBQkGCQUaBQkFCQUKBQkFFAUPBRQFCgUUBQkFDwUADQU=",
      "1": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUJBhQFDwQVBQkFCgUJBQ8FAAt8DggFCgUUBQkFCgUZBQoFCQUKBQkFFAUPBRQFCgUJBQkFDwUADQU=",
      "2": "JgBMAA0IBQkFFQUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFCgUJBRQFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQkFFAUADQU=",
      "3": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUUBQoFCQUKBRkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUFCQUJBQoFGgQADQU=",
      "4": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUJBRQFDwUUBQoFCQUPBQkFAAt8DwgFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQ8FCQUADQU=",
      "5": "JgBMAAwIBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFCQUPBQ8FAAt8DggGCQUUBQkFCgUZBQoFCQUJBRUFFAUPBRQFCQUKBQ8FDgUADQU=",
      "6": "JgBMAAwIBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQoFCQUPBRQFAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQUPBRQFCQUJBg4FFQUADQU=",
      "7": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBQkFCgUPBRkHAAt6DggGCQUVBAoFCQUaBQkFCgUJBRQFFQUOBhQFCQUJBQ8FGgUADQU=",
      "8": "JgBMAA0IBQkFFQUJBQkFGgUJBQoFCQUKBBUFDwUUBQkFCgUUBQkFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQkFFQUPBRQFCQUKBRQFCQUADQU=",
      "9": "JgBMAA0IBgkFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQoFCQUUBQ8FAAt9DQgGCQUUBQoFCQUaBQkFCQUKBQkFFQQPBRUFCQUJBRUFDgUADQU=",
      "0": "JgBMAAwIBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFCQUKBQkFAAt8DggGCQUUBQkGCQUaBQkFCQUKBRQFFAUPBRQFCgUJBQkFCgUADQU=",
      "guide": "JgBIABUTBQoFCQUaBQkFCQYJBQkFFAUPBRUFGQcHBhkFCgUAC3wOCAYJBRQFCQUKBRkFCgUJBQkGCQUUBQ8FFAUaBQkFGgUJBQANBQ==",
      "info": "JgBwAAwIBgkFFAYJBQkFGgUJBQoFCQUJBRUFDwQVBRkFCgUUBRoGAAt8DQgGCQUUBQkFCgUZBQoFCQUJBgkFFAUPBRQFGgUJBRQHGAcAC3sNCBUTBQoFCQUaBQkFCgUJBQkFFQQPBRUFGQcHBhQFGgYADQU=",
      "home": "JgBuAAwIBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBRoFDwUUBRoFAAt8DggVEwUJBQoFGQUKBQkFCQUVBRQFDwUUBRoGDQYUBRkHAAt7DQgVFAQKBQkFGgUJBQoFCQUUBRUFDgYUBRkHDQUUBRoFAA0F",
      "up": "JgBMAA0IBQkGFAUJBQoEGgUKBQkFCQUVBRQFDwUUBQ8FDwUUBQkFAAt9DQgGCQUVBQkFCQUaBgcHCQUJBRQGFAUOBRUFDwUOBRUFCQUADQU=",
      "down": "JgBMAAwIBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQ8FDwUUBQ8FAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkGFAUPBRQFDwUOBRUFDwUADQU=",
      "left": "JgBKAAwIFRMFCgUJBRoFCQUKBQkFCQUVBQ4FFQUPBQ4FFQUUBQALfA4IBgkFFAUJBgkFGQUKBQkFCgUJBRQFDwUUBQ8FDwUUBRQFAA0F",
      "right": "JgBMAAwIBgkFFAUKBQkFGgUJBQkFCgYTBRQFDwUUBQ8FDwUUBxgFAAt9DQgGCQUUBQkFCgUaBQkFCQUKBRQFFAUPBRQFDwUPBRQFGgUADQU=",
      "ok": "JgBMAAwIBgkFFAUKBQkFGgUJBQkFCgUUBRQFDwUUBQ8FDwUaBQkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUGDQUPBRoFCQUADQU=",
      "back": "JgByAAwIBgkFFAUJBgkFGQUKBQkFCgUJBRQFDwUUBQ8FCgUZBQ8FAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQQPBhQFDwQKBRoFDgUAC30OCAUJBRUFCQUJBRoFCQYJBQkFCgUUBQ8FFAUPBQkFGgUPBQANBQ==",
      "mute": "JgByAAwIBgkFFAUJBQoFGQYJBQkFCgUJBRQFDwUUBQoFCQUaBQ8FAAt8DggGCQUUBQkFCgUZBQoFCQUJBgkFFAUPBRQFCgUJBRoFDgUAC30OCAYJBRQFCQUKBBoFCgUJBQkFCgUUBQ8FFAUJBQoFGgUOBQANBQ==",
      "red": "JgCWAAwIFRMFCQUKBRkGCQUJBQoFCQUUBQ8FFAUPBRQFGgUPBQALfA4IBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQ8FFAYZBQ8FAAt8DggGCQUUBQoFCQUaBQkFCQUKBQkFFQUOBRUFDgUVBRkFDwcAC3oOCAYJBRQFCgUJBRoFCQUKBQkFCQUVBQ8EFQUPBRQFGQYOBQANBQ==",
      "green": "JgByAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUVBA8FFQUZBxIGAAt8DggFCQYUBQkFCQYZBQkFCgUJBRUEFQUPBRQFDwUUBRoGEwUAC3wOCAYJBRQFCQUKBRoECgUJBQoFFAUUBQ8FFAcNBRQFGgUUBQANBQ==",
      "yellow": "JgByAA0IBQoFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQ8FFAcYBhkGAAt7DggFCgUUBQkFCgUZBQoFCQUJBQoFFAUPBRQFDwUUBRoFGgYAC3sOCAUKBRQFCQUKBRkFCgUJBQkFCgUUBQ8FFAUPBRQFGgYZBgANBQ==",
      "blue": "JgByAAwIBQkGFAUJBQkFGgUKBQkFCQUKBRQFDwUUBQ8FGgYHBwgGAAt8DggFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFDwUZBQoFCQUAC30NCAYJBRUFCQUJBRoFCQUKBQkFCQUVBQ8FFAUPBRkFCgUJBQANBQ=="
    }
  }
}

These codes work perfectly for me on the Broadlink RM4 Pro with hold set to 0.7, not sure if it's required or not but it's working so that's great :) Will test the TV360 Health Check now. Thanks for all the info in here.

Shivy011 commented 3 months ago

For ease, reposting the updated and current full set:

{
  "version": 1,
  "minor_version": 1,
  "key": "broadlink_remote_XXXXXXXXX_codes",
  "data": {
    "virgin_tv_360": {
      "power": "JgByAA0IBQoFFAUJBQoFGQUKBQkFCgQVBBUFDwUUBQoECgUaBAoFAAt9DQkFCQUUBQoFCQUaBQkFCgUJBRQHEwQPBRUFCQUJBRoFCgQAC30OCAYJBRQFCQUKBRoECgUJBQoEFQUUBQ8FFAUKBAoFGgUJBQANBQ==",
      "play_pause": "JgBMAAwJBQkFFQUJBQkFGgUKBQkFCQUKBRQFDwUUBQkFGgUJBgkFAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQUPBBUFCQUaBQkFCgQADQU=",
      "rewind": "JgBuAA0IFBQFCQUKBBoFCgUJBQkFCgUUBQ8FFAUJBhQFFAUPBQALfA4IFRMFCQUKBRoFCQUJBQoFCQUUBQ8FFAUKBRQFFAcNBQALfgwJBQkFFAUKBQkFGgUJBQoFCQUJBhQFDwUUBQkFFAUVBQ4GAA0F",
      "fast_forward": "JgB0AA0IFBQFCQUJBhkFCQUKBQkFFQQVBQ8FFAUJBRQFFQYHBwALew4IBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUVBgcHEwUUBQoFAARzCwAG/g4IBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBQkGFAUUBQkFAA0F",
      "record": "JgBwAAwIFRMFCQYJBRoFCQUJBQoFFAUUBQ8FFAUKBRkHDQUaBgALew4IBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFGQUPBRoGAAt8DQgGCQUUBQkGCQUaBQkFCQYJBRQFFAUPBRQFCgUZBg4FGgUADQU=",
      "channel_up": "JgBMAA0IBQkFFQUJBQkFGgUJBQoFCQUKBRQFDwUUBQkFFQUJBQkFAAt9DgcHCAYUBQkFCQUaBQkGCQUJBQoFFAUPBRQFCQUUBgkFCQUADQU=",
      "channel_down": "JgBMAA0IBQkGFAUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFFQUJBQ8FAAuEBggGCQUUBQkGCQUaBQkFCQUKBQkFFAUPBRQFCgUUBQkFDwUADQU=",
      "1": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUJBhQFDwQVBQkFCgUJBQ8FAAt8DggFCgUUBQkFCgUZBQoFCQUKBQkFFAUPBRQFCgUJBQkFDwUADQU=",
      "2": "JgBMAA0IBQkFFQUJBQkGGQUKBQkFCQUKBRQFDwUUBQkFCgUJBRQFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQkFFAUADQU=",
      "3": "JgBMAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUUBQoFCQUKBRkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUFCQUJBQoFGgQADQU=",
      "4": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUJBRQFDwUUBQoFCQUPBQkFAAt8DwgFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFCQUKBQ8FCQUADQU=",
      "5": "JgBMAAwIBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFCQUPBQ8FAAt8DggGCQUUBQkFCgUZBQoFCQUJBRUFFAUPBRQFCQUKBQ8FDgUADQU=",
      "6": "JgBMAAwIBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQoFCQUPBRQFAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQUPBRQFCQUJBg4FFQUADQU=",
      "7": "JgBMAAwIBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBQkFCgUPBRkHAAt6DggGCQUVBAoFCQUaBQkFCgUJBRQFFQUOBhQFCQUJBQ8FGgUADQU=",
      "8": "JgBMAA0IBQkFFQUJBQkFGgUJBQoFCQUKBBUFDwUUBQkFCgUUBQkFAAt8DggGCQUVBQkFCQUaBQkFCgUJBQkFFQUPBRQFCQUKBRQFCQUADQU=",
      "9": "JgBMAA0IBgkFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQoFCQUUBQ8FAAt9DQgGCQUUBQoFCQUaBQkFCQUKBQkFFQQPBRUFCQUJBRUFDgUADQU=",
      "0": "JgBMAAwIBgkFFAUJBgkFGgUJBQkFCgUUBRQFDwUUBQoFCQUKBQkFAAt8DggGCQUUBQkGCQUaBQkFCQUKBRQFFAUPBRQFCgUJBQkFCgUADQU=",
      "guide": "JgBIABUTBQoFCQUaBQkFCQYJBQkFFAUPBRUFGQcHBhkFCgUAC3wOCAYJBRQFCQUKBRkFCgUJBQkGCQUUBQ8FFAUaBQkFGgUJBQANBQ==",
      "info": "JgBwAAwIBgkFFAYJBQkFGgUJBQoFCQUJBRUFDwQVBRkFCgUUBRoGAAt8DQgGCQUUBQkFCgUZBQoFCQUJBgkFFAUPBRQFGgUJBRQHGAcAC3sNCBUTBQoFCQUaBQkFCgUJBQkFFQQPBRUFGQcHBhQFGgYADQU=",
      "home": "JgBuAAwIBgkFFAUJBQoFGQUKBQkFCgUUBRQFDwUUBRoFDwUUBRoFAAt8DggVEwUJBQoFGQUKBQkFCQUVBRQFDwUUBRoGDQYUBRkHAAt7DQgVFAQKBQkFGgUJBQoFCQUUBRUFDgYUBRkHDQUUBRoFAA0F",
      "up": "JgBMAA0IBQkGFAUJBQoEGgUKBQkFCQUVBRQFDwUUBQ8FDwUUBQkFAAt9DQgGCQUVBQkFCQUaBgcHCQUJBRQGFAUOBRUFDwUOBRUFCQUADQU=",
      "down": "JgBMAAwIBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQ8FDwUUBQ8FAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkGFAUPBRQFDwUOBRUFDwUADQU=",
      "left": "JgBKAAwIFRMFCgUJBRoFCQUKBQkFCQUVBQ4FFQUPBQ4FFQUUBQALfA4IBgkFFAUJBgkFGQUKBQkFCgUJBRQFDwUUBQ8FDwUUBRQFAA0F",
      "right": "JgBMAAwIBgkFFAUKBQkFGgUJBQkFCgYTBRQFDwUUBQ8FDwUUBxgFAAt9DQgGCQUUBQkFCgUaBQkFCQUKBRQFFAUPBRQFDwUPBRQFGgUADQU=",
      "ok": "JgBMAAwIBgkFFAUKBQkFGgUJBQkFCgUUBRQFDwUUBQ8FDwUaBQkFAAt9DQgGCQUUBgkFCQUaBQkFCgUJBRQFFQUOBRUGDQUPBRoFCQUADQU=",
      "back": "JgByAAwIBgkFFAUJBgkFGQUKBQkFCgUJBRQFDwUUBQ8FCgUZBQ8FAAt8DggGCQUUBQoFCQUaBQkFCgUJBQkFFQQPBhQFDwQKBRoFDgUAC30OCAUJBRUFCQUJBRoFCQYJBQkFCgUUBQ8FFAUPBQkFGgUPBQANBQ==",
      "mute": "JgByAAwIBgkFFAUJBQoFGQYJBQkFCgUJBRQFDwUUBQoFCQUaBQ8FAAt8DggGCQUUBQkFCgUZBQoFCQUJBgkFFAUPBRQFCgUJBRoFDgUAC30OCAYJBRQFCQUKBBoFCgUJBQkFCgUUBQ8FFAUJBQoFGgUOBQANBQ==",
      "red": "JgCWAAwIFRMFCQUKBRkGCQUJBQoFCQUUBQ8FFAUPBRQFGgUPBQALfA4IBgkFFAUJBQoFGgUJBQkFCgUJBRQFDwUUBQ8FFAYZBQ8FAAt8DggGCQUUBQoFCQUaBQkFCQUKBQkFFQUOBRUFDgUVBRkFDwcAC3oOCAYJBRQFCgUJBRoFCQUKBQkFCQUVBQ8EFQUPBRQFGQYOBQANBQ==",
      "green": "JgByAAwIBgkFFAUKBQkFGgUJBQoFCQUUBRQFDwUVBA8FFQUZBxIGAAt8DggFCQYUBQkFCQYZBQkFCgUJBRUEFQUPBRQFDwUUBRoGEwUAC3wOCAYJBRQFCQUKBRoECgUJBQoFFAUUBQ8FFAcNBRQFGgUUBQANBQ==",
      "yellow": "JgByAA0IBQoFFAUJBQoFGQUKBQkFCQYJBRQFDwUUBQ8FFAcYBhkGAAt7DggFCgUUBQkFCgUZBQoFCQUJBQoFFAUPBRQFDwUUBRoFGgYAC3sOCAUKBRQFCQUKBRkFCgUJBQkFCgUUBQ8FFAUPBRQFGgYZBgANBQ==",
      "blue": "JgByAAwIBQkGFAUJBQkFGgUKBQkFCQUKBRQFDwUUBQ8FGgYHBwgGAAt8DggFCQUVBQkFCQUaBQkFCgUJBQoFFAUPBRQFDwUZBQoFCQUAC30NCAYJBRUFCQUJBRoFCQUKBQkFCQUVBQ8FFAUPBRkFCgUJBQANBQ=="
    }
  }
}

These codes work perfectly for me on the Broadlink RM4 Pro with hold set to 0.7, not sure if it's required or not but it's working so that's great :) Will test the TV360 Health Check now. Thanks for all the info in here.

Sorry for being a noob, but how do I implement this in HA?

xpenno255 commented 3 months ago

Using the broadlink integration. Setup your remote via the Integration and then try to learn a code via the remote in home assistant. This creates a config file that you can then copy the codes above into. There are quite a few videos/guides out there for the broadlink.

jimb0b commented 3 months ago

Just a heads up given the codes @robertwigley found also work for me I've updated this in the repository too 👍

MightyWomble2020 commented 3 months ago

Hopefully my last post on this subject. Thanks again to @robertwigley for his efforts. I finally got everything working with the latest codes by NOT using the RM4 mini I bought in for this specific job, I instead used my old RM4 Pro and it works like a dream.