GithubHelp home page GithubHelp logo

probonopd / irdb Goto Github PK

View Code? Open in Web Editor NEW
776.0 36.0 143.0 1.4 MB

One of the largest crowd-sourced, manufacturer-independent databases of infrared remote control codes on the web, and aspiring to become the most comprehensive and most accurate one

License: Other

Shell 9.53% Python 90.47%

irdb's Introduction

irdb

ir

One of the largest crowd-sourced, manufacturer-independent databases of infrared remote control codes on the web, and aspiring to become the most comprehensive and most accurate one. Think of it as the "Wikipedia of infrared remote control codes".

Usage

This database contains infrared remote control codes in a very space-efficient way, using protocol, device, subdevice, function notation. Using this information, you can render signals to raw timings, Pronto Hex, or other formats using software like IrScrutinizer or MakeHex.

Accessing

If you would like to access this database from your product (e.g., app) it is suggested that you do not bundle the database as a whole but access it dynamically at runtime. By doing so, your product will benefit from updates of the database automatically.

To access the database with any amount of traffic, it is recommended to use a content delivery network (CDN). For example, instead of accessing files from GitHub locally, you chould access them over a service like jsdelivr.net like this:

https://cdn.jsdelivr.net/gh/probonopd/irdb@master/codes/index
https://cdn.jsdelivr.net/gh/probonopd/irdb@master/codes/Samsung/TV/7,7.csv

Contributing

  1. Check whether the code you want to contribute is already in the database
  2. If it is not, click the "edit" button to change/edit a file
  3. Follow the naming conventions for files, <manufacturer>/<devicetype>/<device>,<subdevice>.csv
  4. Make sure the file contains the codes in ascending order of the function column
  5. Create a pull request and state the device you have used to create the file in the comment

Examples

In this section, projects and products will be listed which include or access irdb.

  • IrScrutinizer software that can import infrared remote signals from irdb, scrutinize them, and send them using various sending devices

License

You may include or access this database from your product (e.g., app) provided that you follow the terms of the irdb License.

irdb's People

Contributors

alexapps99 avatar arbabseyfola avatar benfoxall avatar bengtmartensson avatar chiahsing avatar denneledoe avatar dobbelina avatar egzumer avatar ivan-gj avatar jack4455667788 avatar joric avatar lbschenkel avatar mgabor3141 avatar packetbrain avatar polluks avatar probonopd avatar rsubtil avatar sandorex avatar sgerwk avatar shannah avatar sigurger avatar teamosceola avatar urmilparikh avatar willstott101 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

irdb's Issues

Add comment column

Hi. I think it would be useful to allow an optional comment (or notes) column, just after function, which would enable documenting a little bit better what a specific code does.

For example, a Panasonic code for INPUT TV could be documented as "Switches input to TV, or toggles tuner among analog/digital/etc.".

I have documented/clarified a number of codes over the years and I would like to be able to contribute this documentation to this project. What do you think? If you like this idea, I can then submit some PRs.

How many ‘POWER’ commands in the irdb ?

Hi

How many ‘POWER’ commands are there for all the devices listed in the irdb ?
I’ve tried to create a script to check all the .csv files, and it looks like I’ve found 120 ?
Does that sound right to you ?

Looking for TLC TV codes

Hello, I fond this repo a lot. Unfortunately I have a TLC TV and you don't have them in the DB.
can anyone help?

IR Code Database Usage

Hi,

Thank you for sharing the database of mostly all the brands. I am very new in this IR Remote learning and control. If I want to send data using any of this company's data, how can I do so?

Can anyone share me the steps.

Regards
Anurag

Looking to use and expand the database

Hello,
I am developing a device which is very cheap and let's users analyze any infrared signal, and reconstruct it.
I really like the simplicity and efficiency of defining codes with just protocol, device, subdevice, function.

I would like to integrate this database in my software, and further expand it with every user of my device. If that seems alright, could I get a contact from the owner, @probonopd , to discuss the implementation?

Thank you,
Luís

My discord username: luispl77

Looking for sony 5.1ch Home Theatre IR Codes

Hello this is particularly not an issue but i was looking for IR Codes for my old home theatre. 12 years tbh.
Model SA-ID5000
Remote Model : RM-ANU088
Tried looking on to website got pretty much confused, any help would be appreciable. Also can anyine help me how to look into this huge DB and find the models. I actually dont know what sony calls it home theatre or something other.

Apple TV (2nd & 3rd generation)

Pending proper formatting:

[DEVICE]
Device: Home Media Player
Manufacturer: Apple
Description: Apple TV (2nd & 3rd generation)
Model:  A1427, A1469, A1378

[IR SIGNALS]
KEY SIGNAL
CUR_UP  +9100 -4400 +600 -550 +550 -1650 +550 -1650 +600 -1600 +600 -550 +550 -1650 +600 -1650 +550 -1650 +550 -1650 +600 -1600 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -550 +600 -1650 +550 -1650 +600 -1600 +600 -550 +550 -1650 +600 -500 +600 -550 +550 -550 +600 -550 +550 -1650 +550 -1650 +600 -1650 +550 -550 +600 -1600 +600 -550 +550 -1650 +600 -1650 +550 -127976
CUR_DOWN    +9050 -4450 +600 -500 +600 -1600 +600 -1650 +550 -1650 +600 -500 +600 -1650 +550 -1650 +600 -1600 +600 -1650 +550 -1650 +600 -1600 +600 -550 +550 -550 +600 -550 +550 -550 +550 -1650 +600 -1650 +550 -550 +550 -1650 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +600 -1650 +550 -1650 +550 -1650 +600 -550 +550 -1650 +600 -500 +600 -1650 +550 -1650 +600 -127976
CUR_LEFT    +9050 -4450 +600 -550 +550 -1650 +550 -1650 +550 -1700 +550 -550 +550 -1700 +550 -1650 +550 -1650 +550 -1700 +550 -1650 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1650 +550 -1700 +550 -1650 +550 -550 +550 -1700 +550 -550 +550 -1650 +550 -1700 +550 -127976
CUR_RIGHT   +9100 -4400 +600 -500 +600 -1650 +550 -1650 +600 -1600 +600 -550 +550 -1650 +600 -1650 +550 -1650 +550 -1650 +600 -1650 +550 -1650 +550 -550 +600 -550 +550 -550 +600 -500 +600 -1650 +550 -1650 +600 -1600 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -500 +600 -550 +550 -1650 +600 -1600 +600 -1650 +550 -550 +600 -1600 +600 -550 +550 -1650 +600 -1650 +550 -127976
ENTER   +9050 -4450 +600 -500 +650 -1600 +600 -1600 +600 -1600 +600 -550 +550 -1650 +600 -1650 +550 -1650 +550 -1650 +600 -1650 +550 -1650 +550 -550 +600 -550 +550 -550 +600 -500 +600 -1650 +550 -1650 +600 -550 +550 -1650 +550 -1650 +600 -1650 +550 -550 +550 -1650 +600 -550 +550 -1650 +600 -1600 +600 -1650 +550 -550 +600 -1600 +600 -550 +550 -1650 +600 -1650 +550 -127976
MENU    +9050 -4400 +600 -550 +550 -1650 +600 -1600 +600 -1650 +550 -550 +600 -1650 +550 -1650 +550 -1650 +600 -1650 +550 -1650 +550 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -1650 +600 -550 +550 -1650 +550 -550 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +600 -1650 +550 -1650 +550 -1650 +600 -550 +550 -1650 +550 -550 +600 -1650 +550 -1650 +600 -127976
PLAY/PAUSE  +9050 -4500 +550 -550 +550 -1650 +550 -1700 +550 -1650 +550 -550 +550 -1700 +500 -1700 +550 -1650 +550 -1700 +550 -1650 +550 -1650 +550 -600 +550 -550 +550 -600 +550 -550 +550 -1650 +550 -600 +550 -1650 +550 -1650 +600 -1650 +550 -1650 +600 -500 +600 -1650 +550 -550 +600 -1600 +600 -1650 +550 -1650 +600 -550 +550 -1650 +550 -550 +600 -1650 +550 -1650 +600 -127976

IR code storage suggestions

Hi!

I am starting a project to build the cheapest and most minimal possible Arduino-compatible universal remote. I hope to be able to store up to 24 IR codes internally, with a web app that ties into IRDB to download codes to the device. I'm hoping to use an ATTiny841 with Micronucleus / V-USB for communication.

I'm trying to figure out how little internal memory I can get away with; I'm debating between having the web app compile a hex file with code values stored in PROGMEM and then upload to the device, or to send the code values over serial to an EEPROM.

So I haven't seen this answered in a simple way anywhere else: what is the longest typical IR code that we might see anywhere? For instance, if I put a 2 kB EEPROM on my board, will that be enough to guarantee space for 24 codes?

Thanks! I will keep your team posted as I develop this project. Everything should be open source.

AudioEngine HD6 codes

Anyone know of a source for discrete codes for the AudioEngine HD6 ? I would love to know if there's a discrete "unmute" or "mute" code. I've still got my original remote, so I was able to learn the mute button which is just a toggle, and does not always work reliably. So, a discrete "mute on" code that could be fired 5 times in a row would be super helpful.

convert codes to other formats

Hi I have a question and found my answer no where else so ask it here.
How can I convert the IR signal information that are in this repository to Pronto Hex or RAW codes that actually I can use them.
I know that I can use http://irdb.tk/convert/ for one device but I want to do it my self for my app.
thank .

Intent to use in app

Hi,
As per the irDB license id like to use this data in a mobile app for working with open source hardware (tasmota etc). I’m not sure how much activity is happening here based on the last pull request but the codes work just fine for most devices.

Thanks,
Mitch

Is there encode api call ? - e.g http://irdb.tk/api/encode/ option ?

Hi,

I’ve been having a go at the api and I was wondering is there a ‘encode’ option ?

Something that would allow me to send the ‘POWER’ function, along with the protocol, devicetype etc. and get back something I could then send out/use, e.g in its pronto format ?

{ "function": "2", "protocol": "NECx2", "subdevice": "7", "devicetype": "TV", "device": "7", "functionname": "POWER" },

Need Help: RAW IR Code Conversion Not working

irdb.tk encoding

Since irdb.tk isn't coming back, would you mind sharing the algorithm used to for irdb.tk/encode to convert the 'signal' value to the returned hex value?

How do I deal with the a negative subdevice?

Hi all, I'm trying to convert some IRDB codes to pronto codes using IRPTransmogrifier (from the command line) and I'm getting the following error:

Failed to generate Pronto code, error: Parameter S = -1 is outside of the allowed domain: 0..255

Any idea on how I'm supposed to render a code that has a negative subdevice?

Web page not available

Hello,

I was trying to use DIYRemote on my S6 (it's running Lineage OS), but when I try to find codes it says "the website could not be loaded because: net::ERR_NAME_NOT_RESOLVED".

I am also having difficulties trying to access the database via other devices (S10 and PC), without any success.

Is that a fault from my side or are there Issues?

Looking for codes for Ferguson AV660

Hi there, I noticed there's no Ferguson codes at all as this is relatively small brand in Europe. I would appreciate somebody contributing codes for Ferguson amplifier AV660. I know that some physical universal remotes can support it, but i don't own one unfortunately.

Optoma projector

Anyone has codes for the Optoma projectors? I can't find them in the database.

Use of database

Hi,

Due to the license we would like to inform you about our product.

We are evaluating use of the IRDB as a resource for our own GEWA IR signal library.

GEWA One / Connect are Environmental Control Devices used by people with disablities. The database will not be deployed with the product, but used as a resource to generate our GEWA Library, used by technicians to customise the end users setup.

Best regards,

Ole Martin Brynildsen
Product Owner

question on the API

I see that you have the ability to query using the raw ir timings.. which is awesome..
The response from that produces a json response which has the protocol name, the device, subdevice and function. does it also return if available any names that have been stored for the device subdevice and function? That would be a nice thing to have available..

I am also going to ask how fast is your connection and server??? would I be able to drop queries against it for some 200K+ users??? I would cache the data locally on their machine after a query has been made so repeated queries from the same user for the same codes would not take place..

I do not know what you have for a server/host and I do not want to possibly cause a problem if there are to many queries being made.
If the above might be an issue would setting up a mirror on my server be something you might consider?. My server is a 6 core @ 3.5gHz core with 8GB of ram 1gbit up/down stream and I believe 33TB data. 120 GB SSD.... in the last year I had a single outage for about 25 minutes due to a network issue. I am running Ubuntu 18.04 x64 LAMP and I have 4 IPv4 addresses available.

How can I capture and submit IR codes for missing remotes?

I have a handful of remotes that are not in your database, one in particular that I've seen requests for and is very very expensive and hard to find. I really want to scan these in to help other people who are looking for these remotes. I have an ESP32 running ESPHome with an IR receiver, and looking the logs as I press buttons on this remote, I get codes like this:

Same + button pressed on a remote

[22:06:17][D][remote.raw:041]: Received Raw: 729, -703, 2181, -695, 726, -694, 727, -704, 2184, -695, 725, -2124, 2156, -1422, 1427
[22:06:18][D][remote.raw:041]: Received Raw: 726, -702, 2182, -693, 727, -694, 727, -705, 2182, -694, 727, -2123, 2155, -1423, 1427
[22:06:18][D][remote.raw:041]: Received Raw: 727, -702, 2183, -696, 725, -695, 726, -705, 2182, -696, 726, -2123, 2156, -1423, 1428
[22:06:19][D][remote.raw:041]: Received Raw: 728, -703, 2182, -695, 726, -696, 725, -706, 2182, -694, 726, -2123, 2157, -1422, 1428
[22:06:19][D][remote.raw:041]: Received Raw: 727, -704, 2180, -696, 725, -695, 726, -707, 2181, -696, 725, -2124, 2155, -1422, 1429
[22:06:19][D][remote.raw:041]: Received Raw: 726, -703, 2183, -695, 727, -695, 726, -704, 2183, -696, 725, -2124, 2156, -1423, 1428
[22:06:20][D][remote.raw:041]: Received Raw: 727, -703, 2182, -694, 727, -695, 725, -706, 2181, -696, 725, -2124, 2155, -1423, 1428

but other remotes give me results like this

Same FFWD button pressed on another remote

[22:07:21][D][remote.jvc:049]: Received JVC: data=0x00FF
[22:07:21][D][remote.lg:054]: Received LG: data=0x00FFD12E, nbits=32
[22:07:21][D][remote.nec:070]: Received NEC: address=0xFF00, command=0x748B
[22:07:21][D][remote.pioneer:149]: Received Pioneer: rc_code_X=0x008B
[22:07:21][D][remote.raw:041]: Received Raw: 9044, -2274, 552
[22:07:22][D][remote.jvc:049]: Received JVC: data=0x00FF
[22:07:22][D][remote.lg:054]: Received LG: data=0x00FFD12E, nbits=32
[22:07:22][D][remote.nec:070]: Received NEC: address=0xFF00, command=0x748B
[22:07:22][D][remote.pioneer:149]: Received Pioneer: rc_code_X=0x008B
[22:07:22][D][remote.raw:041]: Received Raw: 9042, -2273, 553
[22:07:22][D][remote.jvc:049]: Received JVC: data=0x00FF
[22:07:22][D][remote.lg:054]: Received LG: data=0x00FFD12E, nbits=32
[22:07:22][D][remote.nec:070]: Received NEC: address=0xFF00, command=0x748B
[22:07:22][D][remote.pioneer:149]: Received Pioneer: rc_code_X=0x008B
[22:07:22][D][remote.raw:041]: Received Raw: 9044, -2273, 553
[22:07:23][D][remote.jvc:049]: Received JVC: data=0x00FF
[22:07:23][D][remote.lg:054]: Received LG: data=0x00FFD12E, nbits=32
[22:07:23][D][remote.nec:070]: Received NEC: address=0xFF00, command=0x748B
[22:07:23][D][remote.pioneer:149]: Received Pioneer: rc_code_X=0x008B
[22:07:23][D][remote.raw:041]: Received Raw: 9044, -2273, 553

I'm more than happy to press buttons and submit readings all day, but I don't know how to get these into a format that's helpful for other people,

License of IRDB

We have a product that uses the IRDB data you provide. We are adding the license statement now. We can also send you a couple products as required. I would like to ask that we send 2 instead of 3 as it is a hardware product and it costs us a fair amount of money.
https://quantumintegrate.com/pages/starter-bundle
Just send us your address and we'll get the products to you. I'll include the IR Remote kit also so you can play with it.
Sincerely,
Mike Barnick
Please send all correspondence to [email protected] as I don't use GitHub often.

Potential Project

As per the IRDB license I'm writing to inform you that I would like to use your database for a future project. The App would allow users to add their IR capable devices to their homeIOT systems. I would also like to allow users to contribute to the database with new devices. Should we create some sort of bot that creates Pull requests for the newly captured device or fork the repository and add the new devices there? It's a bit of a conundrum because users could potentially mistakenly add the same device that is already present in the DB.

Best Regards,
~ Ian Applebaum

Lamptan Led Mult-Smart Ceiling Lamp ir codes

READY
1 power
Hash:
5A691DC4
For IR Scope/IrScrutinizer:
+9000 -4350 +650 -500 +600 -500 +650 -500 +600 -500 +650 -450 +650 -1600 +600 -550 +600 -1600 +600 -1650 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1600 +650 -500 +600 -1650 +600 -1600 +650 -500 +600 -500 +650 -1600 +600 -500 +600 -1650 +600 -1650 +600 -1600 +600 -550 +600 -1650 +600 -1600 +650 -500 +600 -1600 +650 -500 +600 -500 +600 -550 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4350,650,500,600,500,650,500,600,500,650,450,650,1600,600,550,600,1600,600,1650,600,1650,600,1650,600,500,600,1650,600,1600,650,500,600,1650,600,1600,650,500,600,500,650,1600,600,500,600,1650,600,1650,600,1600,600,550,600,1650,600,1600,650,500,600,1600,650,500,600,500,600,550,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 233

pronto hex
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 05F7 015B 0057 0016 0E6C

UIE HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 22 11 21 22 21 22 12 11 13 82 45

2 night
Hash:
260BE260
For IR Scope/IrScrutinizer:
+9000 -4400 +550 -550 +600 -500 +600 -550 +600 -500 +600 -500 +600 -1650 +600 -550 +550 -1650 +600 -1650 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +550 -550 +600 -1650 +600 -1650 +550 -550 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1600 +600 -1650 +600 -550 +550 -1650 +600 -550 +600 -1600 +600 -550 +600 -500 +600 -550 +550 -550 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4400,550,550,600,500,600,550,600,500,600,500,600,1650,600,550,550,1650,600,1650,600,1650,600,1650,600,500,600,1650,600,1650,550,550,600,1650,600,1650,550,550,600,1650,600,500,600,1650,600,1650,600,1600,600,1650,600,550,550,1650,600,550,600,1600,600,550,600,500,600,550,550,550,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 245

Pronto Hex
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 22 12 12 22 21 21 21 11 13 82 45

======================================================================
3 bright +
Hash:
F8B41164
For IR Scope/IrScrutinizer:
+9000 -4400 +600 -500 +600 -550 +550 -550 +600 -500 +600 -550 +600 -1600 +600 -550 +600 -1650 +600 -1600 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1600 +600 -550 +600 -1650 +550 -550 +600 -1650 +600 -500 +600 -1650 +600 -500 +600 -550 +550 -1650 +600 -550 +600 -1600 +600 -550 +600 -1650 +550 -550 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4400,600,500,600,550,550,550,600,500,600,550,600,1600,600,550,600,1650,600,1600,600,1650,600,1650,600,500,600,1650,600,1650,600,500,600,1650,600,1650,600,1600,600,550,600,1650,550,550,600,1650,600,500,600,1650,600,500,600,550,550,1650,600,550,600,1600,600,550,600,1650,550,550,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 171

Pronto HEX
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 22 21 21 21 21 12 12 12 13 82 45

=========================================================================================

4 bright -
Hash:
4D5F4072
For IR Scope/IrScrutinizer:
+9000 -4400 +600 -500 +600 -550 +600 -500 +600 -500 +600 -550 +600 -1600 +600 -550 +600 -1650 +600 -1600 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -500 +600 -500 +600 -1650 +600 -1650 +600 -1650 +600 -1600 +600 -550 +600 -1650 +600 -1600 +600 -1650 +600 -500 +600 -550 +600 -500 +600 -550 +550 -1650 +600 -550 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4400,600,500,600,550,600,500,600,500,600,550,600,1600,600,550,600,1650,600,1600,600,1650,600,1650,600,500,600,1650,600,1650,600,500,600,1650,600,500,600,500,600,1650,600,1650,600,1650,600,1600,600,550,600,1650,600,1600,600,1650,600,500,600,550,600,500,600,550,550,1650,600,550,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 188

Pronto HEX
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 21 12 22 21 22 21 11 12 13 82 45

5 K+
Hash:
4AB3764
For IR Scope/IrScrutinizer:
+9000 -4400 +600 -500 +600 -550 +600 -500 +600 -500 +600 -550 +600 -1600 +600 -550 +600 -1650 +550 -1650 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +550 -1650 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1600 +600 -550 +600 -500 +600 -550 +550 -550 +600 -1650 +550 -550 +600 -500 +600 -550 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4400,600,500,600,550,600,500,600,500,600,550,600,1600,600,550,600,1650,550,1650,600,1650,600,1650,600,500,600,1650,600,1650,600,500,600,1650,600,1650,550,1650,600,1650,600,1650,600,500,600,1650,600,1650,600,1600,600,550,600,500,600,550,550,550,600,1650,550,550,600,500,600,550,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 239

Pronto HEX
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 22 22 21 22 21 11 12 11 13 82 45

===========================================================================
6 K-
Hash:
49D1C860
For IR Scope/IrScrutinizer:
+8950 -4400 +600 -550 +600 -500 +600 -500 +600 -550 +600 -500 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1650 +550 -1650 +600 -550 +600 -1600 +600 -1650 +600 -550 +550 -1650 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1650 +550 -550 +600 -500 +600 -1650 +600 -500 +600 -1650 +600 -550 +550 -550 +600 -500 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {8950,4400,600,550,600,500,600,500,600,550,600,500,600,1650,600,500,600,1650,600,1650,600,1650,550,1650,600,550,600,1600,600,1650,600,550,550,1650,600,1650,600,1650,600,500,600,1650,600,500,600,1650,600,1650,600,1650,550,550,600,500,600,1650,600,500,600,1650,600,550,550,550,600,500,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 235

Pronto HEX
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 22 21 21 22 21 12 12 11 13 82 45

7 color
Hash:
77739D36
For IR Scope/IrScrutinizer:
+9000 -4400 +600 -500 +600 -550 +600 -500 +600 -550 +550 -550 +600 -1650 +600 -500 +600 -1650 +600 -1600 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -500 +600 -550 +600 -1600 +600 -1650 +600 -550 +550 -1650 +600 -550 +600 -1600 +600 -1650 +600 -1650 +600 -500 +600 -550 +600 -1600 +600 -550 +600 -1600 +600 -550 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4400,600,500,600,550,600,500,600,550,550,550,600,1650,600,500,600,1650,600,1600,600,1650,600,1650,600,500,600,1650,600,1650,600,500,600,1650,600,500,600,550,600,1600,600,1650,600,550,550,1650,600,550,600,1600,600,1650,600,1650,600,500,600,550,600,1600,600,550,600,1600,600,550,600,};
irsend.sendRaw(raw,68,38);

NEC1, device 160, subdevice 183, OBC 172

Pronto HEX
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 21 12 21 21 22 21 12 12 13 82 45

===================================================================================

8 0.5h
Hash:
7ED89C56
For IR Scope/IrScrutinizer:
+8950 -4400 +600 -550 +600 -500 +600 -550 +600 -500 +600 -500 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1650 +600 -1600 +600 -550 +600 -1600 +600 -1650 +600 -550 +550 -1650 +600 -550 +600 -1600 +600 -550 +600 -1650 +550 -1650 +600 -1650 +600 -1650 +600 -1600 +600 -1650 +600 -550 +600 -1600 +600 -550 +600 -500 +600 -500 +600 -550 +600 -500 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {8950,4400,600,550,600,500,600,550,600,500,600,500,600,1650,600,500,600,1650,600,1650,600,1650,600,1600,600,550,600,1600,600,1650,600,550,550,1650,600,550,600,1600,600,550,600,1650,550,1650,600,1650,600,1650,600,1600,600,1650,600,550,600,1600,600,550,600,500,600,500,600,550,600,500,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 250

Pronto HEX
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 21 21 22 22 22 12 11 11 13 82 45

============================================================================

9 1 h
Hash:
C76CEBFA
For IR Scope/IrScrutinizer:
+9000 -4350 +600 -550 +600 -500 +600 -550 +550 -550 +600 -500 +600 -1650 +600 -500 +600 -1650 +600 -1650 +600 -1650 +550 -1650 +600 -550 +600 -1600 +600 -1650 +600 -550 +550 -1650 +600 -550 +600 -500 +600 -500 +600 -1650 +600 -550 +550 -1650 +600 -550 +600 -1600 +600 -1650 +600 -1650 +600 -1650 +600 -500 +600 -1650 +600 -500 +600 -1650 +600 -500 +600 -127976
For Arduino sketch:
unsigned int raw[68] = {9000,4350,600,550,600,500,600,550,550,550,600,500,600,1650,600,500,600,1650,600,1650,600,1650,550,1650,600,550,600,1600,600,1650,600,550,550,1650,600,550,600,500,600,500,600,1650,600,550,550,1650,600,550,600,1600,600,1650,600,1650,600,1650,600,500,600,1650,600,500,600,1650,600,500,600,};
irsend.sendRaw(raw,68,38);

Protocol NEC1, device 160, subdevice 183, OBC 168

Pronto HEX

0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

UEI HEX
00 00 2F 00 D0 06 11 A0 08 D0 01 1A 01 1A 01 1A 03 4E 01 1A 4D A6 11 A0 04 68 01 1A BB CE 22 01 11 11 21 22 22 12 21 21 11 21 21 22 22 12 12 13 82 45

All Sony codes here

I thought i should share an amazing document i found on github that basically got all Sony codes there is.
Well, the document is 4 years old, so up until that time anyway.

Here: All Sony Codes V1.0.xls 7,65 MB

Either use the search macro or click the "Cover Page" tab where all devices are listed according to device number.

All cred to RogueProeliator, as it comes from his/her public repo.

New files breaking conventions

Unfortunately, I discovered yesterday that there has been a number of commits recently, that breaks the established conventions for this project.

  1. There has been a number of files that uses tab separated fields, instead the previously used comma separad fields ("csv"). For example: codes/Aiwa/Tapedeck/AD-WX929
  2. Some new remotes do not adhere to the <manufacturer>/<devicetype>/<device>,<subdevice>.csv file name scheme, mandated in the README file. Particularly bad it is when the directory depth is changed, i.e. when codes/*/*/* does not consist of readable files (but possibly directories). For Example: codes/Aiwa/Tapedeck/AD-WX929 (filename do not adhere), codes/Wowee/ Robot Dog/Chippies/Chippies (directory path does not adhere, and ... a leading space in Robot Dog!!)
  3. At least on file contains at least one empty line. codes/RME/ADI DAC2/ADI DAC2

Also for compatibility with many programs, I ask that NEC is not used as protocol name, since it does not contain any repeat informatsion. Instead e.g. NEC1 (or NEC2) should be used, since it repeats.

If this project is to be considered as a data base to be readable from programs, not only humans, these convention violations are really a problem.

Is there a need for discussion (I am more than open for this), or can I just ask for these "hickups" to be fixed?

Some of the new files say "Captured with IrScrutinizer...". Note that said program contains an export format "IRDB CSV" which generates files (but not file names!) in the right format.

@SS72post: Thank you very mucn for your contributions, but they are unfortunately not useful in the present form.

No more webserver?

I noticed that there isn't a web server anymore for providing/acquiring IR codes.
Are you interested in using an extra dedicate server that I have?

Here are the specs
AMD processor with 6 cores @ 3.5Ghz
8GB RAM
120GB SSD
1Gb uplink
10TB of bandwidth

This is a dedicated machine with root access to the OS, There is nothing currently running on it and you can pick just about any OS you want and I can have the data center install it. You would be responsible for your own backups and also the installation of whatever software you need and also configure that software. I can also have reverse DNS set up so you can have a proper domain e-mail address without an email getting automatically blocked because of a reverse DNS query. You will also need to set up an application to block IP address that are trying to break into the server.

The server is located in Kansas City , Kansas and has had an uptime of 100% for the last 3 years.

I am not using the machine and I have no intention of using it any time soon. If I do have a need to use the machine at some point it will be to host a website and at that juncture the server can then be set up to host more then one website. I have 5 static IPV4 addresses so each website that is hosted would have it's own dedicated IP address.

The rules of the server provider are
No virtualization is allowed outside of an administrative RDP.
Nothing illegal

Let me know if it is something you are interested in.

Unify Denon receiver directories?

Hi, is there any reason for why the Denon directory has separate sub-directories for "AV Receiver", "Receiver" and "Surround Receiver"? What's the reasoning behind this distinction? Unless I missed something, they all implement the same commands and having this distinction brings confusion since you have to remember to look into these 3 different places because the files in some directories are more complete than others.

The reason I'm asking is because I would like to contribute some missing codes, but before doing that I can volunteer to do the work to unify/de-duplicate all the files in these different directories under a single Receiver directory.

More metadata?

Many thanks for this project, which is very useful.

Have you considered adding extra metadata, such as which particular model TV (or whatever) a codeset, or even individual codes, work on? With consumer user-experiences like Harmony, the user can search by make and model number which would be useful for irdb too, rather than just presenting the user with a list of generic codesets to try.

It would also be useful to have some kind of indication as to whether anyone has done a bulk test of all 256 codes in a particular set, to check for hidden discretes and other functions. In other words, if a user finds a codeset from irdb with just a toggle power command, it would be nice to know whether it has been "proven" that the device only has toggle power, or whether it is just that someone learnt the original remote buttons and didn't systematically try any other codes.

The license is too ambiguous and potentially restrictive. Would you please clean it up, or potentially even move to a more permissive license?

I love this project, but I have a lot of issues with the license. It's really not very clear, and I don't think it will stand up very well legally. To start with looking at section 1:

Prior to using this database in your product, you will inform the irdb project about your product by opening an issue on https://github.com/probonopd/irdb/issues

Well to start with there's no mention of the product being granted or denied, so simply informing through here is enough. It would be better if it was clear though that they cannot be arbitrarily denied based on the issue opened.

Secondly it's not clear whether this section only applies to embedded hardware:

You may include this database and derivative works with your software (e.g., app) and/or access this database over network from your commercial or non-commercial software (e.g., app) or embedded hardware (subsequently called "your product") provided that:

It's ambiguous here whether "your product" applies to just embedded hardware or to all the uses listed. Reading that I would assume "your product" only refers to the hardware part, and that I would not have to create an issue here if I am using it purely in software.

Another issue with requiring users to inform is that it's not really clear what information should be given, all it says is "inform the irdb project about your product". It's not clear what this means, e.g. "We are using this for our product" would likely be enough given what's written in the first point. If you expect more than that and the issue creator refuses, what's your plan? I also think this creates issues, as what about projects contracted under an NDA? What about projects with legal requirements that prevent that information being given here? What about companies who simply want to keep the project information a secret for the time being?

Going back to this statement again:

You may include this database and derivative works with your software (e.g., app) and/or access this database over network from your commercial or non-commercial software (e.g., app) or embedded hardware (subsequently called "your product") provided that:

The first statement is also rather ambiguous. It's quite clear that you can access the database over a network from commercial or non-commercial software, but there's no distinction between commercial or non-commercial software when directly including it locally, or in embedded hardware.

You will make available up to three fully licensed copies/units of your product to the irdb team, represented by Simon Peter, free of charge (incuding shipping and handling) upon request.

Again we have the "your product" ambiguity here. But I also have a lot of issues with this:

Let's say a client has a legacy system that control their building. They need a way to integrate it into their new setup so they come to me. I write a bunch of software for them that allows them to integrate this legacy system into their new system. So my software is running on various specialized hardware devices throughout the building. How on earth would I follow this point of the license? This wouldn't be a system I could create a new user for, and it would only be a single setup. Am I expected to recreate their setup up to three times just to send it to you? In reality, I wouldn't be able to use this project in my project, as satisfying this license condition would be unreasonable.

Or here's another example, this one is rather extreme but something that could easily happen. Let's imagine I build a very expensive piece of equipment e.g. for a government, that intercepts and analyses a whole huge array of communications. We implement this because including IR has some sort of benefit. The whole system costs $200k, but the IR bit is only a very small part of the hardware + software. Would I be expected to deliver three entire systems worth up to $600k to you? Again this seems unreasonable. But the license also doesn't contain any definition of what part of it you want access to. If the IR functionality of this machine made up only 0.5% of the machine, would you expect them to still deliver an entire machine? Or what if BMW integrates uses it in part of a vehicle of theirs? Would you expect them to deliver you up to three entire vehicles?

The last example of this is one that is actually likely to come up a lot. I integrate it into a single system for someone, let's say a government again. Now part of the licensing agreement (or even law) from this government says that I cannot distribute their software to anyone else. I use this in the software, the software uses my code, this projects, and the governments. Your license requires I give you access to the software, but doing so is illegal or would violate my license agreements. The current way the license is written is very restrictive here, and just prevents me using it at all in situations like this. The government example is extreme, but this comes up all the time when writing software for someone, you're very often limited in licensing the software to others.

These are just some of the problems I thought of while having a quick glance at it. There's also many other potential issues that really limit the usage in many applications, and make it ambiguous enough to be worried about the implications of depending on it.

I would implore you to consider dropping this license entirely, and going with something much more open like the MIT license. But if not I would really ask you to consider dropping requirements 1 and 3. Perhaps you would consider using a permissive open source license like the MIT one, but with requirement 2 added in as well?

If you are not open to moving towards a more permissive license, then I would ask you to at least remove the ambiguity from this license. It's really limited in so many situations at the moment. Maybe by being a lot clearer in sections 1 and 3, and applying limits to section 3, so that projects like the ones I mentioned are excluded?

Viewsonic LN46C630K1F (46" LCD TV)

Until I get round to creating the appropriate file for contribution, here is the data for the Viewsonic LN46C630K1F, using signals acquired with an Arduino.

[DEVICE INFO]
Device: Television
Manufacturer: Viewsonic
Model:  LN46C630K1F
Remote Part #: BN59-01041A

[IR SIGNALS]
KEY SIGNAL
POWER   +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -550 +600 -1650 +550 -1650 +600 -1650 +600 -1650 +550 -1700 +550 -1650 +550 -127976
SOURCE  +4550 -4450 +550 -1700 +550 -1650 +600 -1650 +550 -600 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1650 +550 -1700 +600 -500 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1700 +550 -550 +600 -500 +550 -600 +550 -550 +600 -500 +550 -600 +550 -550 +600 -500 +550 -1700 +550 -1700 +550 -1650 +600 -1650 +600 -1650 +550 -1700 +550 -1650 +550 -127976
1   +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1700 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -1700 +550 -1650 +600 -127976
2   +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -1650 +550 -1700 +550 -550 +600 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -550 +550 -1700 +550 -550 +550 -550 +600 -550 +550 -550 +600 -500 +550 -600 +550 -1650 +550 -600 +550 -1650 +600 -1650 +600 -1650 +550 -1650 +600 -1650 +550 -127976
3   +4500 -4500 +550 -1700 +550 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -550 +550 -550 +600 -1650 +550 -1700 +550 -1700 +550 -1650 +550 -1700 +550 -127976
4   +4500 -4500 +550 -1700 +550 -1650 +600 -1650 +550 -600 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1650 +550 -1700 +600 -500 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -1700 +550 -1700 +550 -1650 +550 -1700 +600 -127976
5   +4550 -4500 +550 -1650 +550 -1700 +550 -1700 +550 -550 +600 -500 +550 -600 +550 -550 +600 -500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -1700 +550 -127976
6   +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -550 +550 -1700 +600 -500 +600 -550 +550 -550 +600 -500 +550 -1700 +550 -550 +600 -1650 +550 -550 +600 -1650 +600 -1650 +600 -1650 +550 -1650 +600 -127976
7   +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +600 -500 +600 -550 +550 -550 +550 -550 +600 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -550 +600 -500 +600 -1650 +600 -1650 +550 -1650 +600 -1650 +550 -127976
8   +4550 -4500 +550 -1650 +600 -1650 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +600 -500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -600 +550 -550 +550 -550 +600 -1650 +550 -550 +600 -1650 +550 -1700 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -550 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -1700 +550 -127976
9   +4500 -4500 +550 -1650 +600 -1650 +550 -1700 +550 -550 +600 -550 +550 -550 +550 -550 +550 -600 +550 -1650 +600 -1650 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +550 -550 +550 -600 +550 -1650 +550 -1700 +600 -1650 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -1650 +600 -1650 +550 -127976
-   +4500 -4450 +600 -1650 +550 -1700 +550 -1700 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -500 +600 -1650 +600 -1650 +550 -1700 +550 -550 +550 -1700 +550 -1650 +600 -127976
0   +4550 -4450 +550 -1700 +600 -1650 +550 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -550 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +600 -1650 +600 -1650 +550 -550 +550 -1700 +600 -1650 +550 -1650 +550 -127976
PRE-CH  +4500 -4500 +600 -1650 +550 -1650 +550 -1700 +550 -550 +600 -550 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +550 -1700 +600 -500 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +600 -1650 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -550 +600 -500 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -550 +550 -1650 +600 -1650 +600 -1650 +550 -127976
VOL+    +4550 -4500 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -550 +600 -550 +550 -550 +550 -550 +600 -1650 +550 -1700 +550 -1650 +600 -550 +550 -550 +600 -550 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +600 -500 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1650 +600 -1650 +600 -1650 +550 -1700 +550 -127976
VOL-    +4550 -4500 +550 -1650 +550 -1700 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -1700 +550 -550 +550 -1700 +550 -550 +600 -500 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -1700 +550 -127976
MUTE    +4550 -4500 +550 -1700 +550 -1650 +550 -1700 +550 -550 +600 -550 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -1650 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +600 -550 +550 -1650 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +600 -550 +550 -550 +550 -550 +600 -550 +600 -500 +550 -1700 +550 -1700 +550 -1650 +550 -1700 +550 -127976
CH_UP   +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -1650 +600 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +550 -550 +550 -1700 +550 -550 +600 -550 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -1700 +600 -500 +600 -1650 +550 -1700 +550 -550 +550 -1700 +600 -1650 +550 -1650 +550 -127976
CH_DOWN +4550 -4450 +600 -1650 +550 -1700 +550 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +550 -1700 +550 -1650 +600 -1650 +600 -500 +600 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +550 -1700 +550 -1700 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -127976
CH_LIST +4550 -4450 +550 -1700 +600 -1650 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +600 -500 +550 -1700 +550 -1650 +600 -1650 +600 -550 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -550 +550 -1650 +550 -600 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -550 +600 -1650 +550 -550 +600 -550 +550 -1650 +600 -127976
MEDIA.P +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +600 -1650 +550 -1650 +600 -550 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +600 -550 +550 -550 +550 -550 +550 -1700 +600 -1650 +550 -1650 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -600 +550 -127976
MENU    +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -1650 +550 -1700 +600 -500 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -550 +550 -1700 +550 -1700 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -550 +550 -1650 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -1650 +600 -127976
FAV.CH  +4500 -4500 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -550 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +550 -1700 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -550 +550 -1700 +550 -1650 +550 -600 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -1700 +550 -127976
TOOLS   +4500 -4500 +550 -1650 +600 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +550 -1700 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +550 -600 +550 -1650 +550 -1700 +550 -550 +600 -1650 +600 -500 +550 -600 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -550 +600 -1650 +600 -1650 +550 -550 +600 -1650 +600 -127976
INFO    +4500 -4500 +550 -1700 +550 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -1650 +550 -1700 +550 -550 +600 -500 +600 -550 +550 -550 +550 -550 +600 -1650 +600 -1650 +600 -1650 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +600 -1650 +550 -127976
CUR_UP  +4550 -4500 +550 -1650 +550 -1700 +550 -1700 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +600 -500 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -1650 +550 -1700 +600 -500 +550 -600 +550 -1650 +550 -127976
CUR_LEFT    +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -550 +550 -1700 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -550 +550 -550 +600 -1650 +600 -500 +600 -1650 +550 -1700 +550 -550 +550 -600 +550 -1650 +600 -127976
CUR_RIGHT   +4550 -4450 +550 -1700 +550 -1650 +550 -1700 +600 -500 +600 -550 +550 -550 +600 -500 +600 -550 +550 -1650 +550 -1700 +600 -1650 +550 -550 +600 -500 +600 -550 +550 -550 +600 -500 +600 -550 +550 -1650 +600 -550 +550 -550 +550 -600 +550 -1650 +600 -1650 +600 -500 +550 -1700 +550 -550 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -1700 +550 -127976
CUR_DOWN    +4500 -4500 +550 -1700 +550 -1650 +600 -1650 +600 -500 +600 -550 +550 -550 +550 -550 +600 -550 +550 -1700 +550 -1650 +550 -1700 +600 -500 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -550 +600 -500 +600 -550 +550 -1650 +600 -1650 +550 -600 +550 -550 +550 -1700 +550 -1650 +550 -1700 +550 -1700 +550 -550 +550 -550 +600 -1650 +550 -127976
RETURN  +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -1650 +600 -127976
EXIT    +4500 -4500 +550 -1700 +550 -1650 +600 -1650 +600 -500 +600 -550 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +600 -500 +550 -600 +550 -1650 +550 -600 +550 -1650 +550 -1700 +550 -550 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -550 +550 -550 +600 -1650 +550 -600 +550 -1650 +550 -1700 +550 -127976
A   +4500 -4500 +550 -1700 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -500 +600 -550 +550 -1700 +550 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +600 -500 +550 -1700 +550 -1700 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -600 +550 -550 +550 -1700 +550 -550 +550 -550 +600 -1650 +550 -127976
B   +4550 -4450 +550 -1700 +550 -1650 +600 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +550 -1700 +600 -500 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -500 +600 -1650 +550 -550 +600 -1650 +600 -550 +550 -550 +550 -550 +600 -1650 +600 -1650 +550 -550 +550 -1700 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -127976
C   +4550 -4450 +550 -1700 +550 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -1650 +600 -550 +550 -1650 +600 -550 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -550 +550 -1650 +600 -550 +550 -1700 +550 -1650 +600 -1650 +550 -127976
D   +4550 -4450 +550 -1700 +550 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +600 -500 +550 -600 +550 -1650 +550 -1700 +550 -1700 +550 -550 +600 -500 +600 -550 +550 -550 +600 -500 +600 -550 +550 -1700 +550 -1650 +550 -600 +550 -1650 +550 -600 +550 -550 +550 -550 +600 -1650 +550 -550 +550 -600 +550 -1650 +600 -550 +550 -1650 +600 -1650 +600 -1650 +550 -127976
S.MODE  +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +600 -500 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +550 -600 +550 -1650 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1700 +550 -550 +550 -1700 +550 -550 +550 -1700 +550 -1650 +550 -127976
SLEEP   +4550 -4450 +600 -1650 +600 -1650 +550 -1700 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +550 -600 +550 -550 +600 -500 +600 -1650 +550 -1700 +550 -1650 +550 -1700 +600 -1650 +550 -1650 +600 -127976
MTS +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +550 -600 +550 -550 +600 -500 +600 -550 +550 -550 +600 -500 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +600 -1650 +600 -1650 +550 -1650 +600 -1650 +550 -1700 +550 -1650 +600 -1650 +550 -127976
P.MODE  +4500 -4500 +550 -1700 +600 -1650 +550 -1650 +550 -600 +550 -550 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -1650 +600 -1650 +600 -500 +600 -550 +550 -550 +550 -600 +550 -550 +600 -500 +550 -600 +550 -550 +600 -1650 +550 -550 +550 -1700 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -127976
P.SIZE  +4500 -4500 +550 -1700 +550 -1650 +550 -1700 +550 -550 +550 -600 +550 -550 +550 -550 +600 -550 +550 -1700 +550 -1650 +600 -1650 +600 -500 +600 -550 +550 -550 +550 -550 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -1700 +550 -1700 +550 -550 +600 -500 +550 -1700 +550 -550 +550 -600 +550 -550 +600 -500 +600 -550 +550 -1650 +600 -1650 +550 -127976
CC  +4550 -4450 +550 -1700 +550 -1700 +550 -1650 +550 -600 +550 -550 +600 -500 +550 -600 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -550 +600 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -550 +550 -1700 +550 -550 +550 -550 +550 -1700 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -1650 +550 -127976
REWIND  +4550 -4500 +550 -1650 +550 -1700 +550 -1700 +550 -550 +550 -550 +600 -550 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +600 -500 +600 -550 +550 -550 +550 -1700 +550 -550 +550 -1700 +550 -550 +600 -550 +550 -550 +550 -1700 +550 -550 +600 -500 +550 -1700 +550 -550 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -127976
PAUSE   +4500 -4500 +600 -1650 +600 -1650 +550 -1700 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -550 +550 -1650 +550 -600 +550 -1650 +600 -550 +550 -550 +600 -1650 +550 -550 +600 -1650 +550 -550 +550 -1700 +600 -500 +550 -1700 +600 -1650 +550 -550 +550 -1700 +550 -127976
FASTFORWARD +4500 -4500 +550 -1650 +550 -1700 +600 -1650 +550 -550 +550 -550 +600 -550 +550 -550 +600 -500 +600 -1650 +600 -1650 +550 -1650 +600 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -550 +550 -600 +550 -1650 +550 -600 +550 -1650 +600 -1650 +600 -1650 +550 -550 +550 -1700 +550 -1650 +600 -550 +550 -1650 +600 -127976
REC +4550 -4500 +550 -1650 +600 -1650 +550 -1700 +600 -500 +550 -600 +550 -550 +600 -500 +550 -600 +550 -1650 +550 -1700 +550 -1700 +550 -550 +600 -500 +600 -550 +550 -550 +600 -500 +600 -1650 +550 -550 +600 -550 +550 -1700 +550 -550 +550 -550 +550 -1700 +550 -550 +600 -550 +550 -1650 +550 -1700 +600 -500 +550 -1700 +600 -1650 +550 -550 +600 -1650 +550 -127976
PLAY    +4500 -4500 +550 -1700 +550 -1650 +600 -1650 +600 -550 +550 -550 +550 -550 +550 -600 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550 -550 +550 -600 +550 -550 +550 -550 +550 -600 +550 -1650 +600 -1650 +550 -1700 +550 -550 +600 -500 +600 -550 +550 -1700 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1650 +550 -1700 +550 -550 +550 -1700 +600 -127976
STOP    +4500 -4500 +550 -1700 +550 -1700 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +550 -550 +600 -1650 +550 -1650 +600 -1650 +550 -600 +550 -550 +600 -500 +550 -600 +550 -550 +600 -500 +550 -1700 +600 -1650 +550 -550 +600 -500 +550 -600 +550 -1650 +600 -550 +550 -1650 +600 -550 +550 -550 +600 -1650 +550 -1700 +550 -1650 +550 -600 +550 -1650 +600 -127976

Automation tool for Windows

@probonopd

IDK if you remember me or not. I did some work that you merged on your Pronto IR library for the Arduino. I made it so that it could be used as a library actually. I do not remember if i ever submitted a PR for adding support for most of the major Arduino boards.

I did have something you may want to have a look at. This is a project I have been working on for the past few years. It has a great system designed for accessing a whole slew of different IR transmitters and receivers. It supports Windows only at the moment. But there are plans to make it multi platform.

I am going to be bold and say that it supports every IR receiver and Transmitter made that can be used in Windows. Including all of the global cache pieces as well as some of the obscure serial ones.

The project is called EventGhost http:\www.eventghost.net you may or may not have heard of it.

I am not sure if your DB has an API or not. It would be pretty cool if we could add into EventGhost the ability to search and grab codes from your database. But to also be able to submit them to it if they learn a code. The IR functionality of EventGhost is probably the largest reason why people download and Use EventGhost. we have about 20K unique downloads a year 98% of the countries in the world have someone using EventGhost so that would give you access to remotes all over the world of every make and model.

Let me know what you think. It is an Open Source project https://github.com/eventghost/eventghost so you can have a look see at how we handle encoding and decoding

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.