Working Remote Philips SRM7500!

Hi Guys,

I made it, the Philips SRM-7500 RF remote is working on OSMC!
I love this universal remote, with that I control all my devices in my room, so I must make it work for OSMC.
Previously the remote didn’t work, exactly LIRC. And in addition,
Previous version of lirc.conf, lircmap.xml was too old to work well (not all buttons works).

So I decided to rewrite from scratch these configurations, and make a tutorial for others to also be able to use this remote for his beloved OSMC system.
All of the 46 buttons on the remote is working.

IMPORTANT!: English is not my native language! so please do not look for spelling mistakes.

#Instalation

Before that, this is the same what i post on my GitHub, so please look there,
https://github.com/Matis253/SRM7500-kodi
This will be copy and pasted from there.

###LET’S GET STARTED
Instalation is very easy!

The fist part is to make start lirc when the system is starting.

  1. Connect via PuTTY to your KODI system.
  2. Go to the folder /etc
  • cd /etc
  1. Open rc.local in text editor.
  • sudo nano rc.local
  1. Paste this
  • lircd --driver=srm7500libusb /etc/lirc/philips-srm-7500-lircd.conf --device=macShortAddress=12:34,remoteShortAddress=56:78,macPANId=9a:bc
    • before exit 0. This will look like this
    • Informations what this command do: here
  1. DONE

The second part is to download the new config.

  1. Connect via PuTTY to your KODI system.
  2. Go to the folder /etc/lirc (before that, type “cd” to be sure you are in home folder)
  • cd /etc/lirc/
  1. Remove the default config if exist
  • sudo rm philips-srm-7500-lircd.conf
  1. Download the new config
  • sudo wget https://raw.githubusercontent.com/Matis253/SRM7500-kodi/master/philips-srm-7500-lircd.conf
  1. DONE

The last part is to download the Lircmap.xml to the kodi folder.

  1. Connect via PuTTY to your KODI system.
  2. Go to folder .kodi/userdata (before that, type “cd” to be sure you are in home folder)
  • cd .kodi/userdata/
  1. Download the new Lircmap
  • wget https://raw.githubusercontent.com/Matis253/SRM7500-kodi/master/Lircmap.xml
  1. DONE

Now you can reboot the system. And it works.

If you want to change some buttons, you can make a keymap.
I make some changes to buttons, because I don’t use a teletext, and I make other functions here.
If you want to look at my changes go there
Tutorial is here

#Working and not working

WORKING:

  • pairing

  • reception of all keypresses

NOT WORKING:
And never will work, because it is independent from me (it is from LIRC)


  • longpress - this can work, but not for now, more in Issues tab (on GitHub)
    Please help me with this.

#Other

I would like to get it work by choosing a remote in “My OSMC” but it’s not working!
So I decided to make it work, I research the forums, the wikis, lirc infos, other remotes, and I found a problem.
That was not starting at boot lircd process. And I found a small very helpful file in /etc - rc.local
And there I type the startup command, and it works!
But I’ve got some information’s: from @DBMandrake in this topic.

Lircd is not started at boot time but on the fly by udev rules in /lib/udev/rules.d/98-lircd.rules when compatible hardware is detected

I’ve checked this file for the srm7500 and there is something about it.
But for the SRM-7500 IT DOESN"T WORK!!!
The remote (USB) dongle don’t start (the LED don’t shine).
So please repair this, I don’ know why it isn’t work, and how it work.

And some please you @sam_nazarko
Please, add my philips-srm-7500-lircd.conf to the official version of OSMC. I send it on GithHub to you.
And add my Lircmap.xml to the default /usr/share/kodi/system/Lircmap.xml
Thank you!

And in general,
What I do with the “dvd” button?
Temporary I set this as “playdvd” function. But can be here a “menu” function?
When I leave a “playdvd” in Lircmap, and change that button in “keymap.xml” the kodi.log show this:
9.905861 T:1956471728 ERROR: Remote Translator: Can't find button playdvd
Please look at my Lircmap.xml and compare it to keymap.xml and tell me where is problem.

That’s all, thanks for reading this.
I’m very sorry for the bad English, I know this, many of this is just pushed by Google Translator.

I saw your pull request, thanks for the contribution.

We can’t change Lircmap.xml without an explanation as to why you needed to change it, and we would have to investigate to see whether or not this breaks other remotes.

Thanks for your efforts in contributing to OSMC, however what you have provided is not suitable for inclusion in OSMC as it doesn’t follow the existing lircd/eventlircd approach that we are using.

Some suggestions on the proper way to integrate support for this remote:

Starting lircd from rc.local is not the right way to do this. The right way which conforms to the existing system in OSMC is to use a udev rule. You can see the udev rules that are already present for lircd at /lib/udev/rules.d/98-lircd.rules. You can add custom rules in /etc/udev/rules.d/ and any changes that we accept for OSMC would be a patch against /lib/udev/rules.d/98-lircd.rules.

You can specify both a USB device ID match and a lircd driver from the udev rule, which will cause lircd to automatically run with the correct driver when this type of USB receiver is detected.

A customised Lircmap.xml would not be accepted as a patch for an individual remote, as the mappings in Lircmap.xml (linux-input-layer) are shared by all remotes. Thus any changes you made there would affect other remotes as well.

All remotes that use lircd and/or eventlircd (this is nearly everything except CEC or keyboards) are assigned the “linux-input-layer” remote name on Kodi’s lirc socket. This means that all remotes use the same linux-input-layer section in Lircmap.xml, and other sections are not use. You cannot change a mapping in Lircmap.xml for your remote without affecting all other remotes.

It should not be necessary to do so because there are already mappings for all functions that Kodi makes available, so its simply a matter of adjusting your lircd.conf so that the correct buttons perform the correct actions. No change to Lircmap.xml is required.

It will require a udev rule to detect the USB ID of the device, and either send the device to lircd or eventlircd depending on what the USB receiver presents itself as.

So what I have to do now?

So, why from the beginning was begin remote; name SRM-7500 in lircd.conf
When this never will work, and you know that

Now what, I must put here name linux-input-layer?
Or just you can add my Lircmap.xml to the default /usr/share/kodi/system/Lircmap.xml
The remote will have other name, and will not broke others remotes.
And will work good.
Or now I must rewrite or just edit the srm-lircd.conf to the linux-input-layer standard?


I know, I know, but for now I can’t find other way to start lircd process for the remote.
I did not as bad as this guy, who installed the lirc from the debian packages.
So please, if you can find a problem, why remote is not starting, because in this file /lib/udev/rules.d/98-lircd.rules there is:
ENV{ID_VENDOR_ID}=="0471", ENV{ID_MODEL_ID}=="0617", \ ENV{lircd_driver}="srm7500libusb", \ ENV{lircd_conf}="/etc/lirc/philips-srm-7500-lircd.conf"
So in my previous post.

And for proof lsusb:
osmc@osmc:~$ lsusb Bus 001 Device 004: ID 0471:0617 Philips (or NXP) IEEE802.15.4 RF Dongle Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I see there, it must work!. But it does not work. Why?

And of course, thanks you, for your interest of this.