Author Topic: BroadLink Mark II plugin  (Read 8456 times)

Offline ninkasi

  • Full Member
  • ***
  • Posts: 194
  • Karma: +10/-0
Re: BroadLink Mark II plugin
« Reply #90 on: April 28, 2018, 03:11:30 am »
I have my mini 3 working well with the plugin, but to get the communication going, I had to put the plugin and the mini 3 on the same subnet on my network.  For various reasons, I'd like to have the plugin host and the device on different subnets. The subnets stop broadcast and Vera uPnP chatter (which prior to subnetting was causing havoc to many of my devices), yet allow direct connections and DNS forwarding.

If I place the mini 3 on a different subnet from the host subnet, am I going to run into communication problems?  I don't need to poll the mini 3 for status updates. I only need to have it work when called to do so.

I suspect it should be fine ie you can move it anywhere once the broadlink device has been discovered so the Mac and ip address details are recorded. IE if you can't find it when on a different subnet, move it to the same temporarily, then once configured you can move it and manually edit the IP (assuming that changes) in the device configured to match the new one.
Home Automation veteran. Rolled own, then MisterHouse and X10, now Vera - mysensor arduino and ESP8266 network - zwave lights, locks, switches - milights - yeelights - google home(s) - Broadlink RM - raspberry pi(s) with various scripts for power and weather station - Logitech Harmony - Imperihome

Offline PrincessCleavage

  • Full Member
  • ***
  • Posts: 211
  • Karma: +3/-1
Re: BroadLink Mark II plugin
« Reply #91 on: May 14, 2018, 04:58:13 am »
What would be the correct method for manually adding a new rm mini 3 (so two in total)

Just two devices below each other ?

{ "MAC address ": { "blInternalId": "00000002", "blKey": "a458a918a458a918dacb1f08113f9677", "blDeviceType": 10039, "blIp": "ip address ", "blDesc": "RM Mini" } }
{ "MAC address ": { "blInternalId": "00000002", "blKey": "a458a918a458a918dacb1f08113f9677", "blDeviceType": 10039, "blIp": "ip address ", "blDesc": "RM Mini" } }

Offline a-lurker

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +58/-8
Re: BroadLink Mark II plugin
« Reply #92 on: May 14, 2018, 06:46:29 pm »
@PrincessCleavage. Note this approach is only required if the discovery process doesn't work. If I get some time I might try and make this process a little easier. Please follow the instructions as outlined here:

http://forum.micasaverde.com/index.php/topic,53871.msg375134.html#msg375134

Your final edit can be validated here:

https://jsonlint.com/

Try to validate your own version in your post above. And noting the values you have for blInternalId & blKey are not as I described. Just change the mac address and the ip address - nothing else - in the json code below:


Code: [Select]
{
"3d:8e:43:43:ea:3d": {
"blInternalId": "????",
"blKey": "097628343fe99e23765c1513accf8b02",
"blDeviceType": 10039,
"blIp": "192.168.1.95",
"blDesc": "RM Mini 1"
},
"3d:8e:43:43:ea:3e": {
"blInternalId": "????",
"blKey": "097628343fe99e23765c1513accf8b02",
"blDeviceType": 10039,
"blIp": "192.168.1.95",
"blDesc": "RM Mini 2"
}
}

Offline PrincessCleavage

  • Full Member
  • ***
  • Posts: 211
  • Karma: +3/-1
BroadLink Mark II plugin
« Reply #93 on: May 15, 2018, 05:33:39 am »
@PrincessCleavage. Note this approach is only required if the discovery process doesn't work. If I get some time I might try and make this process a little easier. Please follow the instructions as outlined here:

http://forum.micasaverde.com/index.php/topic,53871.msg375134.html#msg375134

Your final edit can be validated here:

https://jsonlint.com/

Try to validate your own version in your post above. And noting the values you have for blInternalId & blKey are not as I described. Just change the mac address and the ip address - nothing else - in the json code below:


Code: [Select]
{
"3d:8e:43:43:ea:3d": {
"blInternalId": "????",
"blKey": "097628343fe99e23765c1513accf8b02",
"blDeviceType": 10039,
"blIp": "192.168.1.95",
"blDesc": "RM Mini 1"
},
"3d:8e:43:43:ea:3e": {
"blInternalId": "????",
"blKey": "097628343fe99e23765c1513accf8b02",
"blDeviceType": 10039,
"blIp": "192.168.1.95",
"blDesc": "RM Mini 2"
}
}
Thanks a-lurker manual add of two rm minis worked. Auto discover on my system doesn?t seem to work for some reason.
Next issue is I am struggling to get xbox 360 learnt IR code to work. I can download a xbox360 remote from online using the e-control app and it powers on etc Xbox 360 fine and I can capture the power on codes through your Vera app but after first capture neither the codes captured nor the e-control xbox 360 remote will work again for power on, if I download a different remote control for Xbox 360 in e-control app if will work again until I capture code again then stop....
Any idea what might be going on here?
Thanks for the help

Edit:
Seems any of the e-control Xbox 360 remotes work the first time and then fail to power on, perhaps the 360 cycles its frequency or something? In contrast Xbox one controls work fine:-/
« Last Edit: May 15, 2018, 06:20:43 am by PrincessCleavage »

Offline a-lurker

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +58/-8
Re: BroadLink Mark II plugin
« Reply #94 on: May 15, 2018, 07:50:39 am »
@pCleavage
Quote
manual add of two rm minis worked
You are probably the first person in the world to get two RM minis going with this plugin - congrats. :)
Sorry - can't help on codes - it gets too hard - too many possibilities.

Offline PrincessCleavage

  • Full Member
  • ***
  • Posts: 211
  • Karma: +3/-1
Re: BroadLink Mark II plugin
« Reply #95 on: May 16, 2018, 05:11:07 am »
@pCleavage
Quote
manual add of two rm minis worked
You are probably the first person in the world to get two RM minis going with this plugin - congrats. :)
Sorry - can't help on codes - it gets too hard - too many possibilities.
Looks like Xbox 360 is too random but Xbox one is consistent.
What would be the correct method to send multiple IR commands for example turn on tv then wait 5secs then change hdmi port then turn on Xbox and wait 20secs then press green button.
A single code is as follows:
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = 'IRCODE'}, 531)
but how might I achieve the above ?

Offline ninkasi

  • Full Member
  • ***
  • Posts: 194
  • Karma: +10/-0
Re: BroadLink Mark II plugin
« Reply #96 on: May 16, 2018, 05:24:02 am »
Seems any of the e-control Xbox 360 remotes work the first time and then fail to power on, perhaps the 360 cycles its frequency or something? In contrast Xbox one controls work fine:-/

I'm surprised that it's not working - I know that my Logitech harmony remote was fine with the 360, and it would have had issues if the code changed. Two things I can think of - maybe the code is corrupted and/or being sent too quickly so the 360 is occasionally not recognising it, or maybe the IR port on the Xbox is partially blocked so it's not reliably seeing the commands from the Broadlink. The other thing I can think of is that, depending on the age of the 360, it can take a while for it to shut down. I know that with my 360 sometimes it would seem like it wouldn't go on, but in fact what had happened is I would toggle too fast from one thing to the other so the "on" command would be ignored because the Xbox was still shutting down. If you want I can always try to dig up my 360 and see if I can control it OK with my Broadlink.
Home Automation veteran. Rolled own, then MisterHouse and X10, now Vera - mysensor arduino and ESP8266 network - zwave lights, locks, switches - milights - yeelights - google home(s) - Broadlink RM - raspberry pi(s) with various scripts for power and weather station - Logitech Harmony - Imperihome

Offline ninkasi

  • Full Member
  • ***
  • Posts: 194
  • Karma: +10/-0
Re: BroadLink Mark II plugin
« Reply #97 on: May 16, 2018, 05:46:08 am »
OK - an update from me. I got my new Broadlink RM Pro, and this time it definitely supports both 433 and 315. I tested it and it was able to control projector screen (315). Set fixed ip then (as it didn't appear magically - again I suspect that's an issue with passing UDP packets from the wifi network to the wired network) added manually into vera. Devices then appeared so I now have two RM Pros in Vera.

I then modified the scenes to send the fireplace code (433) via the new RM Pro, worked first time. Yay. Tried projector - no go. I found that the code for the projector screen was/is very long.... Just in case I manually (rather than using the script from https://github.com/NightRang3r/Broadlink-e-control-db-dump) converted the code, but it came out the same. FYI I also tried capturing the codes via the device in altui, but it timed out - didn't surprise me as when I was copying the code in e-control I had to try a few times before it captured the code.

For example, the 433 code for turning the fireplace on is:
Code: [Select]
b20f1c000c0f0f1a1b0f0f1a0f1a0f1a0f1a0f1a0f1a0f1a0f1a1b0f1b00025c000000000000000000000000
But the code to make the projector screen go up (button 15) is:
Code: [Select]
78001202ac14150707151507071408140814160615070814071507140814160616060814081408140813081416060814081416060814150707150714160616060814081415070814071507140913081408140814160607150813081507140814081408140814081407150814071515070714160616061507150707140814081408141606160616abad14160608141507071408140814160615070814081408140715150616060814081408140814071515070714081416060814160608140715150715060814081416060814081407150814071408140814160608140814081407150715071408140814081408140814081415070714160616061606160608140814071408151506160615adac14160608141606081408140814150715070715071507140814150715070814071507140814081416060814081415070715150707140814160616060814081415070715071408140814081408140814150707140814081408140814081408140814081407150714081416060814160615071507150608140814081408141507150715adac141507071416060814081408141507150708140715071408141606160608140814081407150714160608140814160608141507071507151507150608140814150708140715071408140814081408141507081408140714081408140814081408140814081408140715150707141606160616061507081407150714081416061606150005dc000000000000
....and down (button 17) is:
Code: [Select]
78001202ae13160608141606081408140813160616060913081408140814160616050913091309130913081416060814081416060814160509130913160616060814081416060814081408130913091308140814160608140814081408140813091309130913081416060814081408140813170516071506160616061606160608141605170516acae13160608141605091309130913160616060814081408140814160517050913091309130814081416060814081416050914150609140813160616060814081416060813091309130913091308140814160608140814081309130913091309130814091316060814081408140813170517061506160616061606160608141605170516acae13160608141606081408140814160615070813091309130814160616060813091408130913091316060814081416060814160608140813170517050913081416060814081408140814081408130913160609130814081408140814081408140814081317050913091308140814160616061606160517051705160609131606160616acad131705081416060814081408141605170608130913091309131606160608140814081408140813170509130913160608141606081408141605170509130913160609130814081408140814081309141507081309130913091308140814081408140814160509130913091308141606160616061606160616051705091316061606160005dc000000000000
...and stop (button 16) is:
Code: [Select]
78001202ad14160608141606081408140813160616070813091309130814160616060814081408140814081416060813091415060914160509130913160616060814081416060814081408140814081408140813160708130913091308140814081408140814081408141606081408140813170616061606150708131606160608141606160616acad14160608141606081408140814160615070813091309130814160616060814081408140814081416060814081317050914160608130913160616060814081416060814081408140814081408140814160608140813091309130913091308140814081408141606081408140814160616061606160608141506160609131606160616acae13160608141606081408140814160616060814081408130913170615060814081409130913081416060814081416060814160608140814160616060813091316060913091309130814081408140814160608140814081408140813091408140814081309131606081408140814160616061606160608141606160608131606160616acae131606081416060814081408141606160608140814081408141507150609130815081309130814160608140814160608141606081309141606160608130913160609130814081408140814081408141606081408140814081408140813091309130913091316060814081408141606160616061606081416061606081416061506160005dc000000000000
Maybe the code is simply too long for the system? Well, at least I can now control the projector screen with my mobile! :-)
Home Automation veteran. Rolled own, then MisterHouse and X10, now Vera - mysensor arduino and ESP8266 network - zwave lights, locks, switches - milights - yeelights - google home(s) - Broadlink RM - raspberry pi(s) with various scripts for power and weather station - Logitech Harmony - Imperihome

Offline PrincessCleavage

  • Full Member
  • ***
  • Posts: 211
  • Karma: +3/-1
BroadLink Mark II plugin
« Reply #98 on: May 16, 2018, 06:07:55 am »
@pCleavage
Quote
manual add of two rm minis worked
You are probably the first person in the world to get two RM minis going with this plugin - congrats. 😊
Sorry - can't help on codes - it gets too hard - too many possibilities.
Looks like Xbox 360 is too random but Xbox one is consistent.
What would be the correct method to send multiple IR commands for example turn on tv then wait 5secs then change hdmi port then turn on Xbox and wait 20secs then press green button.
A single code is as follows:
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = 'IRCODE'}, 531)
but how might I achieve the above ?

I ended up achieving my above requirements for the XboxOne with the following logic and works well. I also threw in a WOL command to wake my media server when the below executes
-- Turn TV ON
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 50 00 00 01 29 91 15 10 15 10 15 10 15 10 15 10 15 0f 16 34 15 10 15 34 16 34 15 35 15 34 15 35 15 34 16 0f 16 34 15 10 15 34 16 0f 16 0f 16 34 15 10 15 10 15 10 15 34 16 0f 16 34 15 34 16 10 15 34 15 35 15 34 15 00 05 16 00 01 28 47 15 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (1000)
--Turn ON Xbox One
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '0000 006D 0000 0024 0151 00A7 0016 0015 0017 0014 0016 0015 0015 0016 0015 0016 0015 0016 0015 0016 0015 003F 0016 0014 0017 0014 0016 0016 0015 003F 0016 003F 0016 0015 0016 003F 0015 0040 0015 0016 0015 0040 0015 0014 0016 003F 0016 0015 0016 003F 0018 0013 0016 0015 0016 003F 0015 0016 0015 0040 0015 0016 0015 003E 0016 0016 0016 003F 0016 003F 0016 066C 0151 0055 0015 0ED8'}, 531)
luup.sleep (8000)
--Wait 8 seconds then change TV to live tv (to reset input selection list to consistent selection)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 78 00 00 01 28 91 15 10 15 10 15 10 15 10 15 10 15 10 15 34 15 10 15 35 17 32 16 34 15 35 15 34 15 35 15 10 15 34 15 10 15 10 15 35 15 10 15 10 15 10 15 34 15 10 15 35 15 34 15 10 15 35 15 34 15 35 15 10 15 34 15 00 05 16 00 01 29 47 15 00 0c 44 00 01 28 47 17 00 0c 42 00 01 29 47 16 00 0c 43 00 01 28 47 15 00 0c 44 00 01 2a 45 18 00 0c 42 00 01 2a 45 15 00 0d 05'}, 531)
luup.sleep (500)
----Change TV to live tv (to reset input selection list to consistent selection)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 78 00 00 01 28 91 15 10 15 10 15 10 15 10 15 10 15 10 15 34 15 10 15 35 17 32 16 34 15 35 15 34 15 35 15 10 15 34 15 10 15 10 15 35 15 10 15 10 15 10 15 34 15 10 15 35 15 34 15 10 15 35 15 34 15 35 15 10 15 34 15 00 05 16 00 01 29 47 15 00 0c 44 00 01 28 47 17 00 0c 42 00 01 29 47 16 00 0c 43 00 01 28 47 15 00 0c 44 00 01 2a 45 18 00 0c 42 00 01 2a 45 15 00 0d 05'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (7000)
--Wait 7 seconds then Press Xbox green button to select default application (Emby)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '0000 006D 0000 0024 0151 00A9 0016 0015 0015 0016 0015 0016 0015 0016 0016 0015 0016 0015 0016 0014 0017 003E 0017 0014 0017 0014 0016 0015 0016 003F 0017 003E 0017 0014 0016 003F 0015 0040 0015 0016 0015 0040 0014 003F 0017 0014 0017 0014 0016 003F 0016 003F 0016 0015 0016 003F 0015 0016 0015 0016 0015 0040 0015 003F 0016 0015 0016 0015 0015 003F 0015 066D 0150 0055 0015 0ED8'}, 531)

Offline a-lurker

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +58/-8
Re: BroadLink Mark II plugin
« Reply #99 on: May 17, 2018, 04:52:33 am »
@pCleavage The  luup.sleep()  function may cause the Luup engine to restart if you use delays greater than about one second. You can use  luup.delay() for longer delays but it only has second resolution, rather than millisecond resolution. You could try this code in the Lua test code box and see if works for you:

Code: [Select]
local IRDeviceID = 531

local resetInputSelList = '26 00 78 00 00 01 28 91 15 10 15 10 15 10 15 10 15 10 15 10 15 34 15 10 15 35 17 32 16 34 15 35 15 34 15 35 15 10 15 34 15 10 15 10 15 35 15 10 15 10 15 10 15 34 15 10 15 35 15 34 15 10 15 35 15 34 15 35 15 10 15 34 15 00 05 16 00 01 29 47 15 00 0c 44 00 01 28 47 17 00 0c 42 00 01 29 47 16 00 0c 43 00 01 28 47 15 00 0c 44 00 01 2a 45 18 00 0c 42 00 01 2a 45 15 00 0d 05'
local input8ButtonPress = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'

local steps = {

-- Turn TV ON and wait 1 second
{delay = 1, code = '26 00 50 00 00 01 29 91 15 10 15 10 15 10 15 10 15 10 15 0f 16 34 15 10 15 34 16 34 15 35 15 34 15 35 15 34 16 0f 16 34 15 10 15 34 16 0f 16 0f 16 34 15 10 15 10 15 10 15 34 16 0f 16 34 15 34 16 10 15 34 15 35 15 34 15 00 05 16 00 01 28 47 15 00 0d 05 00 00 00 00 00 00 00 00'},

-- Turn ON Xbox One and wait 8 seconds
{delay = 8, code = '0000 006D 0000 0024 0151 00A7 0016 0015 0017 0014 0016 0015 0015 0016 0015 0016 0015 0016 0015 0016 0015 003F 0016 0014 0017 0014 0016 0016 0015 003F 0016 003F 0016 0015 0016 003F 0015 0040 0015 0016 0015 0040 0015 0014 0016 003F 0016 0015 0016 003F 0018 0013 0016 0015 0016 003F 0015 0016 0015 0040 0015 0016 0015 003E 0016 0016 0016 003F 0016 003F 0016 066C 0151 0055 0015 0ED8'},

-- Change TV to live tv (to reset input selection list to consistent selection) and wait 1 second
{delay = 1, code = resetInputSelList},

-- Change TV to live tv (to reset input selection list to consistent selection) and wait 1 second
{delay = 1, code = resetInputSelList},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 7 seconds
{delay = 7, code = input8ButtonPress},

-- Press Xbox green button to select default application (Emby) and wait 1 second before exiting
{delay = 1, code = '0000 006D 0000 0024 0151 00A9 0016 0015 0015 0016 0015 0016 0015 0016 0016 0015 0016 0015 0016 0014 0017 003E 0017 0014 0017 0014 0016 0015 0016 003F 0017 003E 0017 0014 0016 003F 0015 0040 0015 0016 0015 0040 0014 003F 0017 0014 0017 0014 0016 003F 0016 003F 0016 0015 0016 003F 0015 0016 0015 0016 0015 0040 0015 003F 0016 0015 0016 0015 0015 003F 0015 066D 0150 0055 0015 0ED8'},

}

local stepNumber = 0

function nextCodeToTransmit()
   stepNumber = stepNumber+1
   luup.log('INC STEP NUMBER',50)
   if (not steps[stepNumber]) then luup.log('IR FINISHED',50) return end
   luup.log(steps[stepNumber].code,50)
   luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = steps[stepNumber].code}, IRDeviceID)
   luup.log('CALL DELAY',50)
   luup.call_delay('nextCodeToTransmit', steps[stepNumber].delay)
end

nextCodeToTransmit()

return true
« Last Edit: May 22, 2018, 07:31:40 am by a-lurker »

Offline PrincessCleavage

  • Full Member
  • ***
  • Posts: 211
  • Karma: +3/-1
Re: BroadLink Mark II plugin
« Reply #100 on: May 17, 2018, 07:49:34 am »
@pCleavage The  luup.sleep()  function may cause the Luup engine to restart if you use delays greater than about one second. You can use  luup.delay() for longer delays but it only has second resolution, rather millisecond resolution. You could try this code in the Lua test code box and see if works for you:

Code: [Select]
local IRDeviceID = 531

local resetInputSelList = '26 00 78 00 00 01 28 91 15 10 15 10 15 10 15 10 15 10 15 10 15 34 15 10 15 35 17 32 16 34 15 35 15 34 15 35 15 10 15 34 15 10 15 10 15 35 15 10 15 10 15 10 15 34 15 10 15 35 15 34 15 10 15 35 15 34 15 35 15 10 15 34 15 00 05 16 00 01 29 47 15 00 0c 44 00 01 28 47 17 00 0c 42 00 01 29 47 16 00 0c 43 00 01 28 47 15 00 0c 44 00 01 2a 45 18 00 0c 42 00 01 2a 45 15 00 0d 05'
local input8ButtonPress = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'

local steps = {

-- Turn TV ON and wait 1 second
{delay = 1, code = '26 00 50 00 00 01 29 91 15 10 15 10 15 10 15 10 15 10 15 0f 16 34 15 10 15 34 16 34 15 35 15 34 15 35 15 34 16 0f 16 34 15 10 15 34 16 0f 16 0f 16 34 15 10 15 10 15 10 15 34 16 0f 16 34 15 34 16 10 15 34 15 35 15 34 15 00 05 16 00 01 28 47 15 00 0d 05 00 00 00 00 00 00 00 00'},

-- Turn ON Xbox One and wait 8 seconds
{delay = 8, code = '0000 006D 0000 0024 0151 00A7 0016 0015 0017 0014 0016 0015 0015 0016 0015 0016 0015 0016 0015 0016 0015 003F 0016 0014 0017 0014 0016 0016 0015 003F 0016 003F 0016 0015 0016 003F 0015 0040 0015 0016 0015 0040 0015 0014 0016 003F 0016 0015 0016 003F 0018 0013 0016 0015 0016 003F 0015 0016 0015 0040 0015 0016 0015 003E 0016 0016 0016 003F 0016 003F 0016 066C 0151 0055 0015 0ED8'},

-- Change TV to live tv (to reset input selection list to consistent selection) and wait 1 second
{delay = 1, code = resetInputSelList},

-- Change TV to live tv (to reset input selection list to consistent selection) and wait 1 second
{delay = 1, code = resetInputSelList},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 1 second
{delay = 1, code = input8ButtonPress},

-- Change input selection to HDMI 3 (8 input button press) and wait 7 seconds
{delay = 7, code = input8ButtonPress},

-- Press Xbox green button to select default application (Emby) and wait 1 second before exiting
{delay = 1, code = '0000 006D 0000 0024 0151 00A9 0016 0015 0015 0016 0015 0016 0015 0016 0016 0015 0016 0015 0016 0014 0017 003E 0017 0014 0017 0014 0016 0015 0016 003F 0017 003E 0017 0014 0016 003F 0015 0040 0015 0016 0015 0040 0014 003F 0017 0014 0017 0014 0016 003F 0016 003F 0016 0015 0016 003F 0015 0016 0015 0016 0015 0040 0015 003F 0016 0015 0016 0015 0015 003F 0015 066D 0150 0055 0015 0ED8'},

}

local stepNumber = 0

function nextCodeToTransmit()
   stepNumber = stepNumber+1
   luup.log('INC STEP NUMBER',50)
   if (not steps[stepNumber]) then luup.log('IR FINISHED',50) return end
   luup.log(steps[stepNumber].code,50)
   luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = steps[stepNumber].code}, IRDeviceID)
   luup.log('CALL DELAY',50)
   luup.call_delay('nextCodeToTransmit', steps[stepNumber].delay)
end

nextCodeToTransmit()

return true
Kind of works except for the Input selection change 8 button press need to be 600ms, is it possible to incorporate  luup.sleep (600) with the remainder of your luup delay() code?

I have attempted the following but I get failed to test code:

-- Turn TV ON
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 50 00 00 01 29 91 15 10 15 10 15 10 15 10 15 10 15 0f 16 34 15 10 15 34 16 34 15 35 15 34 15 35 15 34 16 0f 16 34 15 10 15 34 16 0f 16 0f 16 34 15 10 15 10 15 10 15 34 16 0f 16 34 15 34 16 10 15 34 15 35 15 34 15 00 05 16 00 01 28 47 15 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (1000)
--Turn ON Xbox One
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '0000 006D 0000 0024 0151 00A7 0016 0015 0017 0014 0016 0015 0015 0016 0015 0016 0015 0016 0015 0016 0015 003F 0016 0014 0017 0014 0016 0016 0015 003F 0016 003F 0016 0015 0016 003F 0015 0040 0015 0016 0015 0040 0015 0014 0016 003F 0016 0015 0016 003F 0018 0013 0016 0015 0016 003F 0015 0016 0015 0040 0015 0016 0015 003E 0016 0016 0016 003F 0016 003F 0016 066C 0151 0055 0015 0ED8'}, 531)
luup.delay (8)
--Wait 8 seconds then change TV to live tv (to reset input selection list to consistent selection)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 78 00 00 01 28 91 15 10 15 10 15 10 15 10 15 10 15 10 15 34 15 10 15 35 17 32 16 34 15 35 15 34 15 35 15 10 15 34 15 10 15 10 15 35 15 10 15 10 15 10 15 34 15 10 15 35 15 34 15 10 15 35 15 34 15 35 15 10 15 34 15 00 05 16 00 01 29 47 15 00 0c 44 00 01 28 47 17 00 0c 42 00 01 29 47 16 00 0c 43 00 01 28 47 15 00 0c 44 00 01 2a 45 18 00 0c 42 00 01 2a 45 15 00 0d 05'}, 531)
luup.sleep (500)
----Change TV to live tv (to reset input selection list to consistent selection)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 78 00 00 01 28 91 15 10 15 10 15 10 15 10 15 10 15 10 15 34 15 10 15 35 17 32 16 34 15 35 15 34 15 35 15 10 15 34 15 10 15 10 15 35 15 10 15 10 15 10 15 34 15 10 15 35 15 34 15 10 15 35 15 34 15 35 15 10 15 34 15 00 05 16 00 01 29 47 15 00 0c 44 00 01 28 47 17 00 0c 42 00 01 29 47 16 00 0c 43 00 01 28 47 15 00 0c 44 00 01 2a 45 18 00 0c 42 00 01 2a 45 15 00 0d 05'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.sleep (600)
--Change input selection to HDMI 3 (8 input button press)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '26 00 b0 00 00 01 29 91 15 10 15 10 15 10 15 10 15 0f 15 10 15 35 15 10 15 34 16 34 15 35 15 34 15 35 15 34 15 10 15 35 15 10 15 10 15 34 15 10 15 35 15 10 15 10 15 10 15 34 15 35 15 10 15 34 15 10 15 35 15 35 15 34 15 00 05 15 00 01 29 47 15 00 0c 45 00 01 29 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 28 47 15 00 0c 46 00 01 29 46 16 00 0d 05 00 00 00 00 00 00 00 00'}, 531)
luup.delay (7)
--Wait 7 seconds then Press Xbox green button to select default application (Emby)
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = '0000 006D 0000 0024 0151 00A9 0016 0015 0015 0016 0015 0016 0015 0016 0016 0015 0016 0015 0016 0014 0017 003E 0017 0014 0017 0014 0016 0015 0016 003F 0017 003E 0017 0014 0016 003F 0015 0040 0015 0016 0015 0040 0014 003F 0017 0014 0017 0014 0016 003F 0016 003F 0016 0015 0016 003F 0015 0016 0015 0016 0015 0040 0015 003F 0016 0015 0016 0015 0015 003F 0015 066D 0150 0055 0015 0ED8'}, 531)
« Last Edit: May 17, 2018, 08:10:40 am by PrincessCleavage »

Offline cormaza

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
Re: BroadLink Mark II plugin
« Reply #101 on: May 23, 2018, 02:13:26 pm »
hi!!!
i was follow the step by step instructions there is in this threat several times, but I can?t make it work. i have this error:
Fail to load implementation file D_BroadLink_Mk2_1.xml

can anyone help me?

Offline melvin86k

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
Re: BroadLink Mark II plugin
« Reply #102 on: June 17, 2018, 12:57:10 pm »
hii ,

Newbie here . i have copied a RF switch via econtrol . As i prettify my JsonIRcode on jsonlint.com . i cant help but notice the length of my RF code is somewhat longer than expected .

[-78, 1, -124, 3, 7, 10, 7, 4, 13, 10, 7, 4, 8, 4, 13, 10, 13, 5, 7, 4, 7, 4, 8, 4, 7, 4, 7, 4, 7, 10, 8, 4, 7, 4, 8, 4, 8, 4, 13, 9, 8, 4, 7, 4, 13, 4, 7, 10, 8, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 4, 24, 4, 7, 10, 7, 4, 13, 10, 7, 4, 7, 4, 13, 10, 13, 5, 7, 4, 7, 4, 7, 4, 8, 4, 7, 4, 7, 10, 7, 4, 8, 4, 7, 4, 8, 4, 13, 10, 7, 4, 8, 4, 13, 4, 7, 10, 7, 4, 8, 4, 13, 9, 13, 4, 7, 10, 8, 4, 7, 5, 23, 5, 7, 9, 8, 4, 13, 10, 7, 4, 7, 4, 13, 10, 13, 4, 7, 5, 7, 4, 7, 4, 7, 5, 7, 4, 7, 10, 7, 4, 8, 4, 7, 4, 7, 4, 13, 10, 7, 4, 8, 4, 13, 5, 7, 10, 7, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 4, 24, 5, 6, 10, 8, 4, 12, 10, 8, 4, 7, 4, 13, 9, 14, 4, 7, 4, 8, 4, 7, 4, 7, 4, 7, 5, 7, 9, 8, 4, 7, 5, 7, 4, 7, 4, 13, 10, 7, 4, 7, 4, 13, 5, 6, 11, 7, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 4, 24, 4, 7, 10, 7, 4, 13, 10, 7, 4, 8, 4, 12, 10, 13, 5, 7, 4, 7, 4, 7, 5, 7, 4, 7, 4, 7, 10, 8, 4, 7, 4, 8, 4, 8, 4, 13, 9, 8, 4, 7, 4, 13, 4, 7, 10, 8, 4, 7, 4, 13, 10, 12, 5, 7, 9, 8, 4, 7, 5, 24, 4, 7, 10, 7, 4, 13, 10, 7, 4, 7, 4, 13, 10, 13, 5, 6, 5, 7, 4, 7, 4, 7, 5, 7, 4, 7, 10, 7, 4, 8, 4, 7, 4, 7, 4, 13, 10, 7, 4, 8, 4, 12, 5, 7, 10, 7, 4, 8, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 5, 23, 4, 8, 10, 7, 4, 12, 10, 8, 4, 7, 4, 13, 9, 14, 4, 7, 4, 7, 5, 7, 4, 7, 4, 7, 5, 7, 9, 8, 4, 7, 4, 8, 4, 7, 4, 13, 10, 7, 4, 7, 4, 13, 4, 8, 10, 7, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 4, 24, 4, 8, 9, 8, 4, 13, 10, 8, 4, 8, 4, 13, 9, 14, 4, 7, 4, 7, 4, 7, 5, 7, 4, 7, 4, 7, 10, 8, 4, 7, 4, 8, 4, 8, 4, 13, 9, 8, 4, 7, 4, 13, 4, 7, 10, 8, 4, 7, 4, 13, 9, 14, 4, 6, 11, 7, 4, 7, 5, 23, 5, 7, 10, 7, 4, 13, 10, 7, 4, 8, 4, 13, 10, 13, 5, 6, 5, 7, 4, 7, 5, 6, 5, 7, 4, 7, 10, 7, 4, 8, 4, 7, 4, 7, 4, 13, 10, 7, 5, 7, 4, 13, 5, 7, 10, 7, 4, 8, 4, 13, 10, 13, 4, 7, 10, 8, 4, 8, 5, 23, 5, 7, 9, 8, 4, 13, 9, 8, 4, 7, 4, 13, 9, 14, 4, 7, 4, 7, 5, 7, 4, 7, 4, 7, 4, 8, 9, 8, 4, 7, 4, 8, 4, 7, 4, 13, 10, 7, 4, 7, 4, 13, 4, 7, 11, 7, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 4, 24, 4, 7, 10, 7, 4, 13, 10, 7, 4, 8, 4, 13, 10, 13, 4, 8, 4, 7, 5, 6, 5, 7, 4, 7, 4, 7, 10, 8, 4, 8, 4, 7, 4, 8, 4, 12, 10, 8, 4, 7, 4, 12, 5, 7, 10, 7, 5, 7, 4, 12, 10, 13, 5, 6, 10, 8, 4, 7, 5, 24, 4, 7, 10, 7, 4, 13, 10, 7, 4, 7, 4, 13, 10, 13, 4, 7, 5, 7, 4, 7, 4, 7, 5, 6, 5, 7, 10, 7, 4, 8, 4, 7, 4, 8, 4, 13, 10, 7, 4, 8, 4, 12, 4, 8, 10, 7, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 5, 23, 5, 6, 10, 7, 5, 12, 10, 7, 5, 7, 4, 13, 9, 14, 4, 7, 4, 7, 5, 7, 4, 7, 4, 7, 5, 7, 9, 7, 5, 7, 4, 8, 4, 7, 4, 13, 10, 7, 4, 7, 4, 13, 4, 7, 11, 7, 4, 7, 4, 13, 10, 13, 4, 7, 10, 7, 4, 8, 4, 24, 4, 7, 10, 7, 4, 13, 10, 7, 4, 8, 4, 13, 10, 13, 5, 7, 4, 7, 4, 7, 5, 7, 4, 7, 4, 7, 10, 8, 4, 8, 4, 8, 4, 8, 4, 13, 9, 8, 4, 8, 4, 13, 4, 7, 10, 7, 4, 8, 4, 13, 9, 13, 4, 7, 10, 8, 4, 7, 5, 23, 5, 7, 10, 7, 4, 13, 9, 8, 4, 7, 4, 13, 10, 13, 4, 8, 4, 7, 4, 7, 4, 7, 5, 7, 4, 7, 10, 7, 4, 7, 5, 7, 4, 7, 4, 13, 10, 7, 4, 8, 4, 12, 5, 7, 10, 7, 4, 7, 5, 12, 10, 13, 4, 7, 10, 7, 4, 8, 0, 5, -36, 0, 0, 0, 0]

Can anyone advise if i am doing it correctly ? This is the ON button for a Rf433 switch remote . Have also tested on econtrol after copying the RF to be functioning .
« Last Edit: June 17, 2018, 01:00:30 pm by melvin86k »

Offline a-lurker

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +58/-8
Re: BroadLink Mark II plugin
« Reply #103 on: June 17, 2018, 10:21:38 pm »
OK after getting the code extracted like you have, you need to then run it through this code to make the correct hex. I should incorporate this into the plugin one day to make life easier:

http://forum.micasaverde.com/index.php/topic,53871.msg380629.html#msg380629

That gives you this:
Code: [Select]
b2 01 84 03 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 07 04 07 04 08 04 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 05 07 04 07 04 07 04 08 04 07 04 07 0a 07 04 08 04 07 04 08 04 0d 0a 07 04 08 04 0d 04 07 0a 07 04 08 04 0d 09 0d 04 07 0a 08 04 07 05 17 05 07 09 08 04 0d 0a 07 04 07 04 0d 0a 0d 04 07 05 07 04 07 04 07 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 04 08 04 0d 05 07 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 05 06 0a 08 04 0c 0a 08 04 07 04 0d 09 0e 04 07 04 08 04 07 04 07 04 07 05 07 09 08 04 07 05 07 04 07 04 0d 0a 07 04 07 04 0d 05 06 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 08 04 0c 0a 0d 05 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 0a 0c 05 07 09 08 04 07 05 18 04 07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 05 06 05 07 04 07 04 07 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 04 08 04 0c 05 07 0a 07 04 08 04 0d 0a 0d 04 07 0a 07 04 08 05 17 04 08 0a 07 04 0c 0a 08 04 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 05 07 09 08 04 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 08 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 08 09 08 04 0d 0a 08 04 08 04 0d 09 0e 04 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 09 0e 04 06 0b 07 04 07 05 17 05 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 06 05 07 04 07 05 06 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 05 07 04 0d 05 07 0a 07 04 08 04 0d 0a 0d 04 07 0a 08 04 08 05 17 05 07 09 08 04 0d 09 08 04 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 04 08 09 08 04 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 07 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 04 08 04 07 05 06 05 07 04 07 04 07 0a 08 04 08 04 07 04 08 04 0c 0a 08 04 07 04 0c 05 07 0a 07 05 07 04 0c 0a 0d 05 06 0a 08 04 07 05 18 04 07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 04 07 05 07 04 07 04 07 05 06 05 07 0a 07 04 08 04 07 04 08 04 0d 0a 07 04 08 04 0c 04 08 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 05 17 05 06 0a 07 05 0c 0a 07 05 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 05 07 09 07 05 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 07 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 08 04 08 04 08 04 0d 09 08 04 08 04 0d 04 07 0a 07 04 08 04 0d 09 0d 04 07 0a 08 04 07 05 17 05 07 0a 07 04 0d 09 08 04 07 04 0d 0a 0d 04 08 04 07 04 07 04 07 05 07 04 07 0a 07 04 07 05 07 04 07 04 0d 0a 07 04 08 04 0c 05 07 0a 07 04 07 05 0c 0a 0d 04 07 0a 07 04 08 00 05 dc 00 00 00 00
You should be able to send the code and have the device do what it's meant to do:

Code: [Select]
local deviceID = device_id_of_the_Rf_sender_goes_here

local myCode = 'b2 01 84 03 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 07 04 07 04 08 04 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 05 07 04 07 04 07 04 08 04 07 04 07 0a 07 04 08 04 07 04 08 04 0d 0a 07 04 08 04 0d 04 07 0a 07 04 08 04 0d 09 0d 04 07 0a 08 04 07 05 17 05 07 09 08 04 0d 0a 07 04 07 04 0d 0a 0d 04 07 05 07 04 07 04 07 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 04 08 04 0d 05 07 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 05 06 0a 08 04 0c 0a 08 04 07 04 0d 09 0e 04 07 04 08 04 07 04 07 04 07 05 07 09 08 04 07 05 07 04 07 04 0d 0a 07 04 07 04 0d 05 06 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 08 04 0c 0a 0d 05 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 0a 0c 05 07 09 08 04 07 05 18 04 07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 05 06 05 07 04 07 04 07 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 04 08 04 0c 05 07 0a 07 04 08 04 0d 0a 0d 04 07 0a 07 04 08 05 17 04 08 0a 07 04 0c 0a 08 04 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 05 07 09 08 04 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 08 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 08 09 08 04 0d 0a 08 04 08 04 0d 09 0e 04 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 09 0e 04 06 0b 07 04 07 05 17 05 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 06 05 07 04 07 05 06 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 05 07 04 0d 05 07 0a 07 04 08 04 0d 0a 0d 04 07 0a 08 04 08 05 17 05 07 09 08 04 0d 09 08 04 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 04 08 09 08 04 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 07 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 04 08 04 07 05 06 05 07 04 07 04 07 0a 08 04 08 04 07 04 08 04 0c 0a 08 04 07 04 0c 05 07 0a 07 05 07 04 0c 0a 0d 05 06 0a 08 04 07 05 18 04 07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 04 07 05 07 04 07 04 07 05 06 05 07 0a 07 04 08 04 07 04 08 04 0d 0a 07 04 08 04 0c 04 08 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 05 17 05 06 0a 07 05 0c 0a 07 05 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 05 07 09 07 05 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 07 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04 07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 08 04 08 04 08 04 0d 09 08 04 08 04 0d 04 07 0a 07 04 08 04 0d 09 0d 04 07 0a 08 04 07 05 17 05 07 0a 07 04 0d 09 08 04 07 04 0d 0a 0d 04 08 04 07 04 07 04 07 05 07 04 07 0a 07 04 07 05 07 04 07 04 0d 0a 07 04 08 04 0c 05 07 0a 07 04 07 05 0c 0a 0d 04 07 0a 07 04 08 00 05 dc 00 00 00 00'
 
luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendCode', {Code = myCode}, deviceID)

return true

Looking at the code we can break it up into sections, where the preamble:
b2 01 84 03 =

b2 = a 433 MHz code
01 = repeat once all the stuff once, which already contains repeats of the code
84 = lsb length
03 = msb length

So the number of bytes to send, excluding the trailing 00's and the preamble = 0384h = 900d bytes long

In the below we have 15 rows, each containing an RF code, each being 30 bytes long = 900d bytes total

Note that each code ends in either the mark/space pair '18 04' or '17 05'. Same thing with a bit of timing jitter.
The last one ends in '05 dc'

Code: [Select]
b2 01 84 03
07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 07 04 07 04 08 04 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04
07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 05 07 04 07 04 07 04 08 04 07 04 07 0a 07 04 08 04 07 04 08 04 0d 0a 07 04 08 04 0d 04 07 0a 07 04 08 04 0d 09 0d 04 07 0a 08 04 07 05 17 05
07 09 08 04 0d 0a 07 04 07 04 0d 0a 0d 04 07 05 07 04 07 04 07 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 04 08 04 0d 05 07 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 05
06 0a 08 04 0c 0a 08 04 07 04 0d 09 0e 04 07 04 08 04 07 04 07 04 07 05 07 09 08 04 07 05 07 04 07 04 0d 0a 07 04 07 04 0d 05 06 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04
07 0a 07 04 0d 0a 07 04 08 04 0c 0a 0d 05 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 0a 0c 05 07 09 08 04 07 05 18 04
07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 05 06 05 07 04 07 04 07 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 04 08 04 0c 05 07 0a 07 04 08 04 0d 0a 0d 04 07 0a 07 04 08 05 17 04
08 0a 07 04 0c 0a 08 04 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 05 07 09 08 04 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 08 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04
08 09 08 04 0d 0a 08 04 08 04 0d 09 0e 04 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 07 04 08 04 08 04 0d 09 08 04 07 04 0d 04 07 0a 08 04 07 04 0d 09 0e 04 06 0b 07 04 07 05 17 05
07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 06 05 07 04 07 05 06 05 07 04 07 0a 07 04 08 04 07 04 07 04 0d 0a 07 05 07 04 0d 05 07 0a 07 04 08 04 0d 0a 0d 04 07 0a 08 04 08 05 17 05
07 09 08 04 0d 09 08 04 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 04 08 09 08 04 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 07 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04
07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 04 08 04 07 05 06 05 07 04 07 04 07 0a 08 04 08 04 07 04 08 04 0c 0a 08 04 07 04 0c 05 07 0a 07 05 07 04 0c 0a 0d 05 06 0a 08 04 07 05 18 04
07 0a 07 04 0d 0a 07 04 07 04 0d 0a 0d 04 07 05 07 04 07 04 07 05 06 05 07 0a 07 04 08 04 07 04 08 04 0d 0a 07 04 08 04 0c 04 08 0a 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 05 17 05
06 0a 07 05 0c 0a 07 05 07 04 0d 09 0e 04 07 04 07 05 07 04 07 04 07 05 07 09 07 05 07 04 08 04 07 04 0d 0a 07 04 07 04 0d 04 07 0b 07 04 07 04 0d 0a 0d 04 07 0a 07 04 08 04 18 04
07 0a 07 04 0d 0a 07 04 08 04 0d 0a 0d 05 07 04 07 04 07 05 07 04 07 04 07 0a 08 04 08 04 08 04 08 04 0d 09 08 04 08 04 0d 04 07 0a 07 04 08 04 0d 09 0d 04 07 0a 08 04 07 05 17 05
07 0a 07 04 0d 09 08 04 07 04 0d 0a 0d 04 08 04 07 04 07 04 07 05 07 04 07 0a 07 04 07 05 07 04 07 04 0d 0a 07 04 08 04 0c 05 07 0a 07 04 07 05 0c 0a 0d 04 07 0a 07 04 08 00 05 dc
00 00 00 00

I try to avoid discussing codes as there are so many variables. But to try reducing the code length you could keep removing the repeated code (ie each row above), one by one, till it stops working. The length in the preamble needs to be reduced by 30 mark/space pairs = 60 dec, each time a row is removed but expressed in hex. eg

0384hex = 900dec - (30*2)dec = 840dec = 348hex

Don't remove the last code, as it is a little different, in that it ends with '05 dc'

Also you could try setting the repeat count from '01' to '00', as the "macro" repeat may no be needed.

Generally 'Learnt' codes nearly always contain a lot of repeats. Sort of depends how long you hold the remote button down. Whether you can be bothered trying to pare back the code to shorter lengths or not - your call.

The above also assumes I've sliced & diced the codes up correctly. Hope this makes sense and good luck as I can't test any of the above.
« Last Edit: June 17, 2018, 10:29:32 pm by a-lurker »

Offline melvin86k

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
Re: BroadLink Mark II plugin
« Reply #104 on: June 18, 2018, 08:18:37 am »
a-lurker ,

i owe you a drink it really works !!!!
Your a genius .