Troublesome remote control HPM XL400ESD and USB-UIRT

View: New views
7 Messages — Rating Filter:   Alert me  

Troublesome remote control HPM XL400ESD and USB-UIRT

by svinx :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello all.

I am hoping to get some help in configuring a particularly difficult remote control I have. This remote does not appear to be in the lirc remote database. I am going to put as much information here as I can think of to help figure this out.
I have configured a handful of remote controls already without problems, but this one appears to be a bit different from the conventional remote. It is used to toggle and dim ceiling lights via the wall switch. (HPM part number XL400ESD). The remote has only one button, tapping it toggles the light on/off and holding it down will dim the light up or down.
My transceiver is a USB-UIRT which has worked flawlessly with other remotes, in both detecting and reproducing IR signals, so I am confident the problem is not the device nor drivers.
I am using the latest lirc 0.8.6.
when I run irrecord, this is what I get:

<snip>

Now start pressing buttons on your remote control.

It is very important that you press many different buttons and hold them
down for approximately one second. Each button should generate at least one
dot but in no case more than ten dots of output.
Don't stop pressing buttons until two lines of dots (2x80) have been
generated.

Press RETURN now to start recording.
................
./irrecord: could not find gap.  

</snip>

Note that the dots above are the result of at least 2 full minutes of pressing the only button on the remote. I have tried this various ways each time, both holding the button down for a full second each time for the entire session, or pressing the button rapidly for the full session, or a combination thereof, each time the dots appear almost at random - sometimes at the end of a button press, sometimes at the start. I guess the point is that it detects IR signals but not in the way it would expect.

This then lead me to try mode2. These are the results I get:

<snip>

# mode2 -d /dev/ttyUSB0
mode2: uirt2_raw: checksum error
mode2: uirt2_raw: UIRT version 0905 ok
space 412100
pulse 500
space 3300
pulse 450
space 3600
pulse 400
space 3650
pulse 400
space 3700
pulse 350
space 3700
pulse 350
space 3700
pulse 350
space 3700
pulse 350
space 3700
pulse 350
space 3700
pulse 350
space 3700
pulse 350
space 3700

<2nd press>

space 2946500
pulse 550
space 3250
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3550
pulse 500
space 3600
pulse 450
space 3550
pulse 500
space 3550
pulse 450
space 3600
pulse 450
space 3550
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3600
pulse 450
space 3550
pulse 450
space 3600
pulse 450
space 3550
pulse 450
space 3600



</snip>

Note that with each button press, the first 'space' appears to be completely different to the following ones. Pulses tend to vary between 250-500 and spaces tend to vary between 3550-3800
Actually.. only just noticing this, it would appear that pulse & space together almost always add up to 4050, despite their individual varying lengths.

I tried toying with a 'raw code' entered into my lircd.conf file, however this did not work when i re-transmitted the code. There was no error, I guess the code was just wrong. I am still quite a novice with this sort of thing. This is the code I tried:

<snip>

begin remote

  name  bdr-longshot1
  flags RAW_CODES|CONST_LENGTH
  bits           12
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   0
  post_data_bits  0

   gap 3600


      begin raw_codes
            name 1
                   450
      end raw_codes

end remote

</snip>

Since I have the output of 'mode2', surely its just a matter of entering the correct raw codes into my /etc/lirc/lircd.conf file? If not, is there some expert out there who knows what I need to do to get this to work? I would prefer having the capability to both tap the button aswell as 'holding down the button' (probably using SEND_START and SEND_STOP) to dim up and down, but I would settle for just the tap capability.

I don't know if this helps, but on searching for the HPM part code XL400ESD I found some others having issues analyzying the output of this remote control for use with a logitech harmony remote. It appears possible with some tweaking, the last post suggests that the problem is capturing the spacing when lifting your finger off the button.
link here: http://forums.logitech.com/t5/Harmony-Remotes-Programming/Harmony-785-and-HPM-XL400ESD-Remote-Control-Light-Dimmer/m-p/314850#M27867

Re: Troublesome remote control HPM XL400ESD and USB-UIRT

by Christoph Bartelmus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

svinx "matt.vink@..." wrote:
[...]
> I am hoping to get some help in configuring a particularly difficult remote
> control I have. This remote does not appear to be in the lirc remote
[...]
> I tried toying with a 'raw code' entered into my lircd.conf file, however
> this did not work when i re-transmitted the code. There was no error, I
> guess the code was just wrong. I am still quite a novice with this sort of
> thing. This is the code I tried:

Try something like this:

begin remote

  name  bdr-longshot1
  flags RAW_CODES|CONST_LENGTH
  eps            30
  aeps          100

   gap 3600

      begin raw_codes


            name 1
              550    3250     450    3600     450    3600
              450    3600     450    3600     450    3550
              500    3600     450    3550     500    3550
              450    3600     450    3550     450    3600
              450    3600     450    3600     450    3600
              450    3600     450    3600     450    3600
              450    3600     450    3600     450    3550
              450    3600     450    3550     450    3600
              350

      end raw_codes

end remote


Christoph

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference

Re: Troublesome remote control HPM XL400ESD and USB-UIRT

by svinx :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Christoph Bartelmus wrote:
Try something like this:
Hey, thanks for the help.

I tried that config exactly as listed but unfortunately the code wouldn't transmit:

---
irsend --address=localhost:8765 SEND_ONCE bdr-longshot1 1
irsend: command failed: SEND_ONCE bdr-longshot1 1
irsend: transmission failed
---

Re: Troublesome remote control HPM XL400ESD and USB-UIRT

by Christoph Bartelmus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

svinx "matt.vink@..." wrote:

>
>
> Christoph Bartelmus wrote:
>>
>>
>> Try something like this:
>>
>>

> I tried that config exactly as listed but unfortunately the code wouldn't
> transmit:

Hm, the signal is too long for the UIRT. Just remove one line of data in  
the config file to make it shorter.

Christoph

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference

Re: Troublesome remote control HPM XL400ESD and USB-UIRT

by svinx :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Christoph Bartelmus wrote:
Hm, the signal is too long for the UIRT. Just remove one line of data in  
the config file to make it shorter.
I've got it!
I tried removing a line plus several more but it would still fail.
Only once I removed the CONST_LENGTH flag did it start working, and my light actually turns on and off!

I sincerely appreciate your help so far -
The only thing I can't get it to do now is dim up and down, which is done by holding down the same button for at least 1 second.
I've tried copying & pasting the output of mode2 -m and holding down the button for a few seconds (which is several pages worth of codes) into the conf file but the uirt definitely doesn't like the length of the code. Unfortunately, bringing it down to a length that it can handle just causes it to act as if i only 'tapped' the button which toggles the light on/off.
I've also tried using SEND_START and SEND_STOP with a sleep 1s in between, but on the SEND_STOP i get the error:
command failed: SEND_STOP bedroom-light 1
irsend: not repeationg

I've also tried irsend --count=500 etc etc but it only toggles the light as if it was tapped, not held down.

I'm so close.. any other suggestions?

Re: Troublesome remote control HPM XL400ESD and USB-UIRT

by Christoph Bartelmus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

svinx "matt.vink@..." wrote:
> Christoph Bartelmus wrote:
>>
>>
>> Hm, the signal is too long for the UIRT. Just remove one line of data in
>> the config file to make it shorter.
>>
>>

> I've got it!
> I tried removing a line plus several more but it would still fail.
> Only once I removed the CONST_LENGTH flag did it start working, and my light
> actually turns on and off!
[...]
> The only thing I can't get it to do now is dim up and down, which is done by
> holding down the same button for at least 1 second.
[...]
> I'm so close.. any other suggestions?

Try something like this:

begin remote

  name  bdr-longshot1
  bits           48
  flags SPACE_ENC
  eps            30
  aeps          100

  header        550  3250
  one           450   450
  zero          450  3550
  ptrail        350
  gap          3650

  begin codes
    1                        0x000000000000
  end codes

end remote

You can vary the number of bits. But the UIRT only supports up to 128  
bits, and that would be equivalent to around 1/2 second.
Actually LIRC also does not support more than 64 bits, but as long the  
code is all zeros, it shouldn't matter.

Christoph

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference

Re: Troublesome remote control HPM XL400ESD and USB-UIRT

by svinx :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Christoph Bartelmus wrote:
Try something like this:

You can vary the number of bits. But the UIRT only supports up to 128  
bits, and that would be equivalent to around 1/2 second.
Actually LIRC also does not support more than 64 bits, but as long the  
code is all zeros, it shouldn't matter.

Christoph

That code worked, I could see the LED on the IR transmitter stay on for maybe just under half a second (rather than a short burst as it usually is) but since I need at least 1 second of continuous IR it still only registers as a tap rather than a 'hold-down' of the button. I upped it to 64, but didn't really help. Any more and it fails to transmit, as you suggested.

When I try things like SEND_START and SEND_STOP then I get the error mentioned earlier, and count=5 (or 50 or 500) seems to only repeat individual button presses once or twice, and thats it. (not a continuous stream)

Im looking through the lirc documentation, as my understanding is still fairly limited, but I'm thinking perhaps if the 'gap' length can be reduced to zero, then I can repeat the command as many times as I'd like and it would look like a continuous stream but I'm not sure thats possible. When I set 'gap 0' in the conf file I get the warning that I should set a valid gap value, and it still won't do a button hold. Even with 'min_repeat 2' or 3 it the transmission fails..