On October 21, 2008 at 23:51, Peter Dewildt said...
A minor point but tracking models with codesets can be
very difficult as the same device often has different
model numbers in different countries and sometimes the
same model uses different IR codes in different countries
Good points, Peter. I agree it would be difficult to manage, but I do think it's possible. The multi-model issue, for example, could be handled by using a tagging system similar to the way people tag their photos today.
Without know nearly enough about how the codes are structured, I'll offer this structural possibility.
CODEID: 000123456789
HEXADECIMAL VALUE: 0xE23
CONTROL TYPE: IR
DISCRETE: Yes
BRAND: Panasonic
DEVICE TYPE: TV
MODEL: PS123
CODESET ID: 1721
ACTION: Volume Up
CONTRIBUTOR: Legolad
Date Submitted: 10/22/2008
NOTES: Same as Mitsubishi OEM model
By breaking out the individual codes from the manufacturer's pre-defined (and arbitrary)
codeset, we can begin to collect codes as a set of unique commands which, when used on a specific device will have a specific function.
In the database this would take the form of 2 tables (at a minimum).
In table 1 you have the unique hexadecimal codes.
In table 2 you have all the meta data submitted for those codes.
Assuming we allow people to enter duplicate codes and tag them differently, we could check each new code to see if it's already in the database. If it isn't, we add it to Table 1 and insert the meta data into Table 2.
If the code already exists in Table 1, we simply insert the new meta-data (the model, device, and other tags) into Table 2.
This allows people to submit the same code multiple times for different equipment/functions/models.
We could further enhance this system by using pre-defined dropdown lists of manufacturers, models, etc, though that makes the whole thing a lot harder to maintain.
Lastly, we would need to decide how much we want to validate the data. I know a few experts on this topic and I'm guessing there are at least a few lurking around in here. Between us maybe we could start to flesh out a plan.