Bob,
?
A few more thoughts for you though I'm not an expert here.
?
1.5) Provide a recommended topic path structure of (what?) as a starting point.
One suggestion:? /RailroadID/GroupName/Type/ID
where Type is Turnout, Sensor, Light, etc
? and Group can be any desired grouping, perhaps a node name where that is desirable.
This is widening the current /trains/track/turnout/nnnn structure. People not using groups can just use "track" or whatever they choose and keep using "trains" if they wish. /trains/track could remain the default (the prize for the guy who got in first!)
Anyone not wanting this structure is free to use whatever they want.
?
?
2.5) (Migrate the existing Turnouts to ON and OFF?)
I'd rather leave turnouts as THROWN or CLOSED.? In this case, ON or OFF is little better than 1 or 0.?
?
?
4.5) Add some kind of variable intensity to Lights?? How coded?
Perhaps add an optional qualifier where appropriate, eg. ON,value or ON,intensity=value or some such thing.? For anything that uses it, it's up to the programmer to deal with it.
This could be an option for turnouts controlled by servos - THROWN,value or THROWN,pos=value
?
I agree with Speed on signals, use the aspect name for masts and color for heads.
To take that a step further, it may be useful to add relevant details out of the aspect appearance files for the railroad, eg for masts,
use aspect name followed by the color of the heads e.g. STOP,show=red:red (from the show parameter in the appearance xml file, I'm getting quite out of my depth here, no idea if I'm asking too much.)
?
?
There's a trend forming here - the payload has the main status in clear text optionally followed by some information held in JMRI to help the worker (Arduino?) achieve the result without having to program a lot of custom detail in the worker device.
My aim is very much a centralized arrangement with JMRI the commander and for several Arduino workers with identical sketches and minimal config details in EEPROM and have parameters passed to it for specific actions required. Distributed processing using smarter devices is another option that some people may prefer in which case just the status in plain English may be adequate.
- Regards, Dave Mc.