And I’m guessing that was done somewhat intentionally when it was originally setup. There’s method in that madness as:
[ul][li]a) It creates a one-stop shop for MiOS programmers to see stuff, without finding and trudging through various UPnP spec documents that, in some cases MiOS doesn’t implement, or doesn’t implement correct semantics[/li]
[li]b) You can hang examples off of it, ones that are specific to the MiOS environment (aka Luup)[/li]
[li]c) You can list the additional domain-values that some of these variables have, that aren’t in the raw spec (for better or worse)[/li]
[li]d) You can list the non-standard Variables that the MiOS team appears to have added, that also aren’t in the spec[/li][/ul]
Actions should be documented, too.
I agree. I started by providing examples that demonstrate the more common actions, but overall I believe these need to be documented/exampled also. I wasn't sure if there was a duplicate for that also, since I really don't want to create duplication within the Wiki pages, there's enough of that going around already.
We could also end up obsoleting [tt]Luup_Variables[/tt] as a page (so we don’t have duplicate pages all over the Wiki) and creating something more appropriately named to represent Luup Device programming behaviors.
It’s why I was looking for feedback on my original a/b/c items, so the appropriate Wiki page naming structure could be derived before we did that, along with what functional sub-sections people really need to see for each type of devices (variables, actions, parameters, domain-values, behaviors)… everything except bugs, as that’ll clutter stuff faster than you can imagine given the various product versions out there.
Of course, the bottom of each device defn could contain a “References” block, similar to what @Henk did for the HowTo pages, these could be used to link to related reference material (including UPnP documentation links, if folks felt strongly about it)
[tt]http://192.168.x.y:3480/data_request?id=invoke&DeviceNum=z[/tt] could be used to get a list of the actions provided by a specific device. If the wiki would allow for JavaScript, we could provide an online 'http style to luup.call_action style' translator (and vice versa).
As a one-time generator, perhaps. But ultimately we need real-users to document the real semantics of any State Variable and/or Action, along with the parameters, domain-values, error behavior, and sample snippets.
The generator will get you maybe 10% of that, the rest just requires folks to rollup their sleeves (the existing descriptions for Variables are woeful)