Rummy,
Table items such as turnouts, sensors, routes, logic, etc. have a system name and a user name.
When you create a new object, such as an internal sensor, a prefix is added if necessary, such as IS, and the rest is changed to upper case to create the system name. ?The user name is used as entered after removing leading and trailing spaces.
The system name cannot be changed. ?The user name can be changed and if necessary, moved to a different system name. ?
For maximum flexibility, assign and use the user name rather than the system name. ?For example, an internal sensor was created as IS123 / Sensor XYZ. ?Later it is discovered that this sensor would work better if it was a physical level on the layout. ?Assuming a Digitrax layout with appropriate hardware, Sensor XYZ could be moved to LS1122 (LocoNet Sensor) and JMRI would continue working as expected.
I don¡¯t recall seeing which version of JMRI you have been using. ?You mention the name shows up without the IS prefix. ?Is that in the XML?systemName element or XML?userName?element? ?If you could provide a bad version of the file we can determine if there is a problem that needs to be fixed.
Dave Sand
toggle quoted message
Show quoted text
On Jul 15, 2018, at 4:44 PM, rummy@... wrote:
Finally found the problem, and with it, the solution. ?And, although I do not know what caused it in the first place, I have come up with a way to avoid it.
First, the problem and solution. ?As I was perusing the configuration file in a text editor looking for differences between the sensor/LRoute combinations?that worked on startup and those that did not work, I noticed that the sensor name was different. ?On the ones that worked, the sensor name that I typed?in prior to placing the sensor on the panel in PanelPro was appended to a leading "IS". ?For example, if I named the sensor "Test 1", PanelPro would?add the IS making the name as used in Java "ISTEST 1" - note the addition of "IS" at the beginning and capitalization of the name I gave it. ?For the?sensors that did not stay linked to their LRoutes, the name saved in the configuration file was just the name I gave it "Test 1". ?I don't know why they (the?working and non working sensors) were saved in the config file differently. ?But the solution was to type in the correct name: ?"IS" + the name I assigned?to the sensor, in all caps. ?I did that for all the non-working at startup sensors, and everything works great on startup.
I don't know why PanelPro does this. ?Type in any name, and the sensor shows up on the panel, in the sensor table, and in all the other tables as "IS" +?name. ?But look in the configuration file and the name is minus the "IS". ?Also, and this is weird, if I type in "IS" + name to start with when placing the?sensor on the panel, as in "ISTEST 1", "ISTEST 1" shows up everywhere, even the config file. ?One would think PanelPro would add another "IS" to the?name I gave it, making it "ISISTEST 1". ?But it doesn't. So this is my workaround. ?So far I've been adding sensors using a beginning "IS" and all is well.
One cautionary note regarding editing the configuration file with a text editor: ?there are 2 kinds of quotes - generic quotes that can be opening or?closing quotes (they are vertical and therefore interchangeable), and non-generic quotes wherein the opening quotes tilt the opposite way as the closing?quotes. ?Java and JMRI only like the generic quotes. ?As I was editing the names in the config file, my text editor sometimes would change a generic?opening quote to a non-generic opening quote, and if I didn't catch it and make it a generic variety, an error would occur when trying to open the panel.
Anyhow, thanks to all who responded and gave suggestions. ?I am creating and maintaining an initialization route to align all the sensors, turnouts and?signals at startup, per several of the responders. ?Thanks again!