¿ªÔÆÌåÓý

Date

Locked Re: Stopping due to error: No locomotive detected (301)

 

¿ªÔÆÌåÓý

?

I suspect you¡¯ve stumbled over a bug, or unintended consequence. ???

?

The ¡°identify decoder¡± code has found it¡¯s a Hornby, and is trying to identify which TTS sound decoder might be fitted (CV159).?? But, if the decoder doesn¡¯t reply to CV159 (I suspect some more basic, perhaps older, Hornby decoders don¡¯t), then there is going to be an error.

?

So, for your side, my suggestion is that you do as you did - ?manually find the decoder type (rather than ¡°read type from loco¡±, go down the list of makers, expand Hornby, and pick the decoder you think is in the loco).??? With other brands of decoder ¡°Read type from decoder¡± should be fine.?

?

?

For the software development side -? there is code to identify TTS decoders automatically, ?can it be modified so that a ¡°no loco detected¡± means it stops trying CV159 and decides it must be one of the other Hornby decoders ?????? Or, is a decision between automatically identifying TTS types (really useful to a lot of TTS users) and thus will fail on some other Hornby decoders, or does the automatic TTS identification have to be removed ???

?

?

?

-????????? Nigel

From: [email protected] [mailto:[email protected]] On Behalf Of David Griffiths
Sent: 07 December 2018 17:15
To: [email protected]
Subject: [jmriusers] Stopping due to error: No locomotive detected (301)

?

I¡¯m a novice to DecoderPro and the following might help others

1.?????? I¡¯ve just bought an old SprogII and installed the latest software on a laptop running Windows 7.

2.?????? Borrowed a DCC loco from a friend and checked that it ran under throttle. (Not necessary, but it proved the loco works under my DCC).

3.?????? Then clicked ¡®New Loco¡¯ on menu and ¡¯Read type from decoder¡¯

4.?????? Messages at bottom report looking at CV8, then 7 then 159. Loco juddered as the decoder was read. Then ¡®Stopping due to error: No locomotive detected (301)¡¯ reported.

5.?????? So repeated step 4 with the Sprog Command Monitor opened. This showed:

cmd: "C 0008"

rep: "= h30

P> "

cmd: "C 0007"

rep: "= h83

P> "

cmd: "C 0159"

rep: "= No Ack

P> "

?

So the decoder was responding with the make of decoder (Manufacturer number 48, hexadecimal 30, Hornby) and the version 131. But, not finding CV 159, gave up.

?

(If you can¡¯t carry out this step, go to step 6 and make a best guess)

6.?????? Chose the best guess Hornby decoder from the list and the ¡®Create Basic Roster Entry¡¯ box appeared. Entered the Roster ID to identify the loco. Clicked ¡®read¡¯ to identify the current address of the decoder (3 for a new decoder).

7.?????? Clicked ¡®Open Comprehensive Programmer¡¯. Entered the details for the roster.

8.?????? Clicked the CVs tab. Clicked the ¡®Read full sheet¡¯ button. The state of some CVs changed to ¡®Read¡¯. (Some CVs may remain yellow and some go red, if that CV doesn¡¯t exist for your decoder.)

9.?????? I didn¡¯t want to change the active address of my friend¡¯s loco, but this should be possible by typing the new number into CV1 and clicking ¡®Write¡¯.

10.?? Closed the window, Saving if requested.

11?? Chose the new loco in the roster. Selected it and chose ¡®Throttle¡¯.

12.?? In the address panel, clicked the ¡®No loco selected¡¯ box and chose the loco.

13.?? Hopefully it should work for you...


Locked Re: Missing turnouts in turnout tables

 

Thanks Cliff. I can answer some of your questions.
Dell Inspiron laptop.
Latest Windows 10.
JMRI? ver. 410
Java ver. 1.8.0 -191
Loconet connect: PR3 built into DCS 240.
Error message: none
Don't know what system console is??
I can't do printer as I use two different machines that are not yet talking to each other. Working on this.
When I go to Tools -> Tables -> turnouts, the screen is blank. How do I find turnout table?
The points are thrown just fine by the throttle.
Finally I don't know what the Loconet Monitor is?
Hope this helps. Writing is difficult at my age.
Don Anderson


Locked Re: Double crossover problem in Panel Editor

 

Something still not right. I tried both your approaches in Logix with internal and real turnouts but still not working right. Panel icons change but not to correct image. It acts more like a right crossover laid on top of a left crossover and flips between them. I think the problem is that the type of icon used to add to the panel is not a true double cross. It is using a combo of 5 icons that represent a left or right crossover rather than a double cross. Should only show 4 icons. As a result, when you trigger a turnout change, it wants to step thru from all closed to a left cross then to a right cross then back to all closed. That is the way the icons change. They do not change from all closed to a double cross then back to? all closed.
I guess I am still? stuck.


Locked Stopping due to error: No locomotive detected (301)

David Griffiths
 

I¡¯m a novice to DecoderPro and the following might help others

1.?????? I¡¯ve just bought an old SprogII and installed the latest software on a laptop running Windows 7.

2.?????? Borrowed a DCC loco from a friend and checked that it ran under throttle. (Not necessary, but it proved the loco works under my DCC).

3.?????? Then clicked ¡®New Loco¡¯ on menu and ¡¯Read type from decoder¡¯

4.?????? Messages at bottom report looking at CV8, then 7 then 159. Loco juddered as the decoder was read. Then ¡®Stopping due to error: No locomotive detected (301)¡¯ reported.

5.?????? So repeated step 4 with the Sprog Command Monitor opened. This showed:

cmd: "C 0008"

rep: "= h30

P> "

cmd: "C 0007"

rep: "= h83

P> "

cmd: "C 0159"

rep: "= No Ack

P> "

?

So the decoder was responding with the make of decoder (Manufacturer number 48, hexadecimal 30, Hornby) and the version 131. But, not finding CV 159, gave up.

?

(If you can¡¯t carry out this step, go to step 6 and make a best guess)

6.?????? Chose the best guess Hornby decoder from the list and the ¡®Create Basic Roster Entry¡¯ box appeared. Entered the Roster ID to identify the loco. Clicked ¡®read¡¯ to identify the current address of the decoder (3 for a new decoder).

7.?????? Clicked ¡®Open Comprehensive Programmer¡¯. Entered the details for the roster.

8.?????? Clicked the CVs tab. Clicked the ¡®Read full sheet¡¯ button. The state of some CVs changed to ¡®Read¡¯. (Some CVs may remain yellow and some go red, if that CV doesn¡¯t exist for your decoder.)

9.?????? I didn¡¯t want to change the active address of my friend¡¯s loco, but this should be possible by typing the new number into CV1 and clicking ¡®Write¡¯.

10.?? Closed the window, Saving if requested.

11?? Chose the new loco in the roster. Selected it and chose ¡®Throttle¡¯.

12.?? In the address panel, clicked the ¡®No loco selected¡¯ box and chose the loco.

13.?? Hopefully it should work for you...


Locked Re: Double crossover problem in Panel Editor

 

Paul D,

In the Logix, build it this way:

Condition:
Turnout XXX-1 on Thrown
Action:
On True, Turnout XXX-2, set Thrown
On True, Turnout XXX-3, set Thrown
On True, Turnout XXX-4, set Thrown
On False, Turnout XXX-2, set Closed
On False, Turnout XXX-3, set Closed
On False, Turnout XXX-4, set Closed
----
That should take care of the setting one turnout, sets the others. But you
must make sure you only command the original (-1) turnout.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


Locked Re: DR5000 XpressNet

 

I managed to get JRMI on a Macintosh working with the DR5000 with your help and another?post. ?

After making sure I had the correct drivers from??I connect the?Macintosh directly?to the ?DR 5000 to the using a USB cable.

I set the DecoderPro preferences just like the link you sent me

New Connection?LocoNet
System Manufacturer?Digitrax
System connection?Loconet LocoBuffer-USB
Serial Port?cu.usbmodem411
Command station type?DSC100 (Chief)
Connection Prefix?L
Connection name?Loconet

I did not adjust the additional settings.

To?programme decoders, I set the Program Type to?Direct Byte in the Roster window

It works very well now. ?I can use all the features now. ?
the?z21?app on my phone works, a wired Roco throttle works via XpressNet, and DecoderPro works via a USB Cable. All at the same time.

Thanks for your help


Locked Re: Using Digikeijs DR5000 with a Macintosh Computer

 

I managed to get JRMI on a Macintosh working with the DR5000 with your help and another?post. ?

After making sure I had the correct drivers from??I connect the?Macintosh directly?to the ?DR 5000 to the using a USB cable.

I set the DecoderPro preferences as follows

New Connection LocoNet
System Manufacturer?Digitrax
System connection Loconet LocoBuffer-USB
Serial Port cu.usbmodem411
Command station type DSC100 (Chief)
Connection Prefix L
Connection name Loconet

I did not adjust the additional settings.

To programme decoders, I set the Program Type to Direct Byte in the Roster window

It works very well now. ?I can use all the features now. ?
the z21?app on my phone works, a wired Roco throttle works via XpressNet, and DecoderPro works via a USB Cable. All at the same time.

Thanks for your help


Locked Re: Double crossover problem in Panel Editor

 

Paul,

3 internal plus 1 real will never work since they will be fighting with each other.

What you need are 2 internal plus 1 real with the following Logix:

IX:AUTO:0003C1 DX Test
[x] R1 IF Turnout "Internal 1" state is "Turnout Closed"
[x] R2 AND Turnout "Internal 2" state is "Turnout Closed"
THEN
When Triggered True, Set Turnout, "Real 1" to Closed
When Triggered False, Set Turnout, "Real 1" to Thrown

This will keep the layout in sync with the panel. I used "when triggered" instead of "on change¡±. On change may work ok.

The next issue is ¡°what is driving turnout changes¡±? Depending on the answer(s), the solutions can change.


Dave Sand

On Dec 7, 2018, at 12:09 PM, Paul Davidson <pdavidson@...> wrote:

Dave,
Correct....all 4 Kato turnouts operate in unison...all closed or all thrown although you can mess that up because you can manually close/throw each switch independently. Also, I built an operational LE panel that uses a single turnout number to operate my double crossover turnouts with no problem.
I guess I will need to use one valid turnout number plus 3 internal turnout numbers to make all 4 turnouts work together. Adding the Logix will challenge me. I have played with it before but I was semi-lost most of the time.
Just for kicks, I created 3 internal turnouts and assigned them to the other 3 turnouts in the double crossover then added it to the panel. It added OK but would not work correctly. Every time I tried to change it, the icon rolled to a different config and eventually returned to where it started.
I wish I could repeat that fluke. Must be something more than a fluke because I still have that PE panel I created that has a working double crossover on it.

Thanks for pointing me in the right direction.
Paul D


Locked Re: Double crossover problem in Panel Editor

 

Dave,
Correct....all 4 Kato turnouts operate in unison...all closed or all thrown although you can mess that up because you can manually close/throw each switch independently. Also, I built an operational LE panel that uses a single turnout number to operate my double crossover turnouts with no problem.
I guess I will need to use one valid turnout number plus 3 internal turnout numbers to make all 4 turnouts work together. Adding the Logix will challenge me. I have played with it before but I was semi-lost most of the time.
Just for kicks, I created 3 internal? turnouts and assigned them to the other 3 turnouts in the double crossover then added it to the panel. It added OK but would not work correctly. Every time I tried to change it, the icon rolled to a different config and eventually returned to where it started.
I wish I could repeat that fluke. Must be something more than a fluke because I still have that PE panel I created that has a working double crossover on it.

Thanks for pointing me in the right direction.
Paul D


Locked Re: Signaling Question Using SSL

 

Howdy Clay. I was curious about replies, but found there were none.? For your question of "Using SSL, is it possible to create a panel that can detect the direction of travel?", I don't think you included enough information for a credible answer.?

I presume that you have blocks and occupancy detectors to allow signals to be triggered.? Details might help others answer your question.

One way (not using SSL, so I'm not really answering your direct question) to get a direction indication on a panel is for a sensor to be added which is controlled by Logix using the natural progression of On and Off to know which way a train entered and exited a block.?

Hopefully, once you provide more info about what you have, someone will be able to give a specific answer that will work for you.

Phil in gorgeous Young Harris, Georgia, USA


Locked Re: Double crossover problem in Panel Editor

 

Paul,

The PE double cross-over requires either 2 or 4 turnouts. I have no idea why it does not support since 1 is certainly a valid arrangement. The Layout Editor double cross-over requires 1, allows a second one, but not 4.

Your earlier success may have been a fluke.

For the PE version, it looks like you need to supply 2 internal turnouts and have a Logix that translates the 2 turnout positions into a valid single turnout for Kato. I am assuming that the 4 Kato turnouts are either all closed or all thrown.


Dave Sand

On Dec 7, 2018, at 11:25 AM, Paul Davidson <pdavidson@...> wrote:

Dave,
No..... but I did not do that the last time I was successful. I tried it now and the first drag went OK but it would not let me drag the same turnout number to a second box. It said the "Duplicate Turnout Name assigned" and would not let me do it.
I am using a Kato Unitrack double crossover and all 4 turnouts operate with a single turnout number. JRMI appears to be expecting 4 different turnout numbers to operate a double crossover. In addition, I don't understand how I was able to add the double turnout previously but not now.
Paul D


Locked Re: MQTT Connection in JMRI

 

¿ªÔÆÌåÓý

Hi Everyone,

?

I am very interested in this conversation.? As a DIYer and C/C++ and Java hobbyist programmer, QA Test Specialist and Project Manager in my day job, I like where this is going.? And yes there is a but¡­

?

But, I think that two if not three areas of communications are being combined in to this single topic: ¡°What will be the JMRI specification¡±.? These are JMRI, MQTT and Hardware and from what I read these are be talked about as if JMRI will set the spec for all three.

?

Again my opinion so shout me down if you want but JMRI can only deal with how the MQTT Broker talks to JMRI and that may be the other way around as with DCC Systems.? (Each DCC Systems specs how JMRI will talk to it.)? How the MQTT Broker talks to the Hardware, I believe is already defined.

?

JMRI has defined how scripts talk about Turnouts, Sensors, Signal Heads and Signal Mast as well as other items so putting this on a communications line to the MQTT is basically done. All that needs to be decided is the format to send to/read from ?MQTT, again what I read, that is mostly done as well /Trains/Turnout/Board ID/Item ID/Command or /Trains/Sensor/Board ID/Item ID/Data.

?

How the MQTT Broker passes this information to the Hardware is up to the MQTT Broker designer/coder (the MQTT Specification).? As is how the Hardware gets the information from MQTT is already defined and how the Hardware deals with that information it gets it is up to the Hardware designer.

?

There may well be two or more flavors of MQTT Brokers, as there are several flavors of DCC Systems.

?

Just my two cents, feel free to disregard or flame as desired.

?

Victor

?

?

Victor Gilbert

Supertendent

Sugarwood Railroad

????????????? ___???????????? __ _????????????????????????????????????????????? _???????????? ___????????????? _?????? _??????????????????????????????? _??

??????o O O? / __|?? _? _??? / _` |? __ _????? _ _? __ __ __? ___???? ___??? __| |?????????? | _ \?? __ _???? (_)???? | |????? _ _??? ___??? __ _??? __| |?

?????o?????? \__ \? | +| |?? \__, | / _` |??? | '_| \ V? V / / _ \?? / _ \? / _` |?????????? |?? /? / _` |??? | |???? | |???? | '_|? / _ \? / _` |? / _` |?

?????o?????? |___/?? \_,_|?? |___/? \__,_|?? _|_|_?? \_/\_/? \___/?? \___/? \__,_|?????????? |_|_\? \__,_|?? _|_|_?? _|_|_?? _|_|_?? \___/? \__,_|? \__,_|?

????TS__[O]? |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""| |"""""|

??? {======|_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |_|???? |

? ./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"

?

?

From: [email protected] [mailto:[email protected]] On Behalf Of Speed
Sent: December-07-18 8:07 AM
To: [email protected]
Subject: Re: [jmriusers] MQTT Connection in JMRI

?

A few more things to think about...

- will JMRI subscribe to every topic that contains a sensor/turnout/mast? I have found there are limits (in performance and memory) for subscribing to too many things. About a year ago I created this Jython script () to publish and subscribe to MQTT for "Virtual Masts" from within JMRI. I simply used the "Username" to keep the topic for each virtual mast, which was simple at the time: "mast.0003". Today I would go with /TxNamib/mast.0001/03, where the mast.0001 is the board where the masts are connected to.?

- Do we use retention? I found it convenient in my ESP implementation to save the state of the turnout in /TxNamib/servo.0003/01 as a '0' or a '1' with retention on, so when the ESP boots up, it knows where to move the servo without keeping the state saved in local EEPROM. I know some don't like physical addressing boards, but I found it convenient to simply subscribe to /TxNamib/servo.0003/# for all 16 turnouts connected to the ESP. So if retention is used, JMRI is going to turn on and get hundreds of messages (that it needs to keep up with) and also might have the "INCONSISTENT" state if it determines the turnout to be otherwise.?

- JMRI typically (or used to) only generate a message to hardware when there is a state change, so without retention in MQTT, the servo won't know where to go until there is a change in JMRI.

- Like Bob said, somethings work different than others. A block detector sensor is by nature controlled by the block detection circuit, but a global "I need the Dispatcher's attention" sensor could be turned on by more than one. (And who turns it off?). Masts should also be single sourced, in this case I would say JMRI determines the aspect.

- Will JMRI allow us to pick what messages to send? For example, "Active" and "Inactive" versus '1' and '0' versus 'True' or 'False'? Might not sound important here, but who wrote the code on the other side, it matters over there.

- And Masts having 'Clear', 'Approach' and Signal Heads using 'Green', 'Flashing Red', 'Dark', ...? Or do we start with only Heads?

- JMRI also need to allow, not only the username and password as mentioned earlier, but also the QOS (quality of service), and other (or future), settings.

[ Disclaimer about my Jython script: I can't promise the "threading" part is working well enough, sometimes you need to restart JMRI. The JButton on the Desktop was a simple way to remove the Listeners when you needed to rename a mast, instead of restarting JMRI. ]


Locked Re: Double crossover problem in Panel Editor

 

Dave,
No..... but I did not do that the last time I was successful.? I tried it now and the first drag went OK but it would not let me drag the same turnout number to a second box. It said the "Duplicate Turnout Name assigned" and would not let me do it.
I am using a Kato Unitrack double crossover and all 4 turnouts operate with a single turnout number.? JRMI appears to be expecting 4 different turnout numbers to operate a double crossover. In addition, I don't understand how I was able to add the double turnout previously but not now.?
Paul D


Locked Re: Double crossover problem in Panel Editor

 

Paul,

After you add the four turnouts using the "Add item to table", are you dragging the related entries to the ¡°undefined" boxes above the icons?

Dave Sand

On Dec 7, 2018, at 10:36 AM, Paul Davidson <pdavidson@...> wrote:

Earlier I asked a question on forum about how to insert a double crossover in PE. After stumbling around, I finally got it to work. However, I no longer can get it to work (Ver 4.13.5). I must be doing something wrong. Here are the steps I am taking..
1) Open a new panel in PE
2) Use " Select the type of icon to add to panel" drop down to pick a "slip/3-way turnout/scissor"
3) In new window that opens, I select the button for "4 Turnouts"
4) I perform a "Add item to table" (using LT20 as an example)
5) At this point, I expect the "Add to Panel" button to become active so I can add the turnout to the panel but it will not become active

Somehow, this worked OK earlier with 4.13.5 but will not work now. The 5 steps work just fine for a left or right turnout but not for a double crossover (scissor on menu). I can go to a older panel I created when experimenting with adding a double crossover and the double crossover shows up and works fine. Driving me craze. What am I doing wrong?

Paul D


Locked Re: MQTT Connection in JMRI

 

Does this mean that even the simplest HW device being directly addressed in an MQTT net needs a full TCP/IP Stack?

Not sure how that makes things simple.

Andy







---
This email has been checked for viruses by AVG.


Locked Double crossover problem in Panel Editor

 

Earlier I asked a question on forum about how to insert a double crossover in PE. After stumbling around, I finally got it to work. However, I no longer can get it to work (Ver 4.13.5). I must be doing something wrong. Here are the steps I am taking..
1) Open a new panel in PE
2) Use " Select the type of icon to add to panel" drop down to pick a "slip/3-way turnout/scissor"
3) In new window that opens, I select the button for "4 Turnouts"
4) I perform a "Add item to table" (using LT20 as an example)
5) At this point, I expect the "Add to Panel" button to become active so I can add the turnout to the panel but it will not become active

Somehow, this worked OK earlier with 4.13.5 but will not work now. The 5 steps work just fine for a left or right turnout but not for a double crossover (scissor on menu).? I can go to a older panel I created when experimenting with adding a double crossover and the double crossover shows up and works fine. Driving me craze. What am I doing wrong?

Paul D


Locked Re: MQTT Connection in JMRI

 

A few more things to think about...

- will JMRI subscribe to every topic that contains a sensor/turnout/mast? I have found there are limits (in performance and memory) for subscribing to too many things. About a year ago I created this Jython script () to publish and subscribe to MQTT for "Virtual Masts" from within JMRI. I simply used the "Username" to keep the topic for each virtual mast, which was simple at the time: "mast.0003". Today I would go with /TxNamib/mast.0001/03, where the mast.0001 is the board where the masts are connected to.?

- Do we use retention? I found it convenient in my ESP implementation to save the state of the turnout in /TxNamib/servo.0003/01 as a '0' or a '1' with retention on, so when the ESP boots up, it knows where to move the servo without keeping the state saved in local EEPROM. I know some don't like physical addressing boards, but I found it convenient to simply subscribe to /TxNamib/servo.0003/# for all 16 turnouts connected to the ESP. So if retention is used, JMRI is going to turn on and get hundreds of messages (that it needs to keep up with) and also might have the "INCONSISTENT" state if it determines the turnout to be otherwise.?

- JMRI typically (or used to) only generate a message to hardware when there is a state change, so without retention in MQTT, the servo won't know where to go until there is a change in JMRI.

- Like Bob said, somethings work different than others. A block detector sensor is by nature controlled by the block detection circuit, but a global "I need the Dispatcher's attention" sensor could be turned on by more than one. (And who turns it off?). Masts should also be single sourced, in this case I would say JMRI determines the aspect.

- Will JMRI allow us to pick what messages to send? For example, "Active" and "Inactive" versus '1' and '0' versus 'True' or 'False'? Might not sound important here, but who wrote the code on the other side, it matters over there.

- And Masts having 'Clear', 'Approach' and Signal Heads using 'Green', 'Flashing Red', 'Dark', ...? Or do we start with only Heads?

- JMRI also need to allow, not only the username and password as mentioned earlier, but also the QOS (quality of service), and other (or future), settings.

[ Disclaimer about my Jython script: I can't promise the "threading" part is working well enough, sometimes you need to restart JMRI. The JButton on the Desktop was a simple way to remove the Listeners when you needed to rename a mast, instead of restarting JMRI. ]


Locked Re: MQTT Connection in JMRI

 

On Dec 7, 2018, at 09:35, Bob Jacobsen <rgj1927@...> wrote:

it would be great if the community could converge on how JMRI should work with MQTT devices.

Some boundary conditions:

1) JMRI has specific control metaphors: Turnout (i.e. one-bit digital output), Sensor (i.e. one-bit digital input), Light, SignalMast/SignalHead, Reporter, etc. They each function a bit differently. _How_ they work with MQTT is something that needs to be defined: What does it mean when a MQTT-based light wants to set intensity to 75%? What should a Sensor look for to decide whether it should go to ACTIVE, INACTIVE, UNKNOWN or INCONSISTENT, and if something else happens, what should it do?
What do you mean by look for?


2) JMRI hardware flexibility comes from the system name metaphor. A Turnout (T) in the MQTT system (M) can have a system name like MT/stuff/morestuff/123/$5/dancing-bear-emoji for all JMRI cares. So you can put a lot of information into that system name to define the operation, so long as it can be unambiguously parsed. It¡¯s even possible to have different formats for the same underlying hardware devices, c.f. CT3001 vs CT3b1 and all the weird and wonderful MERGE CBUS formats.
Ideally it looks like this. /trains/hardwareID/item

Hardware ID = Mac address
Item = sub item on that device

JRMI has a hardware id of MAC/item

JSON in the payload = to the JSON used in WebSockets.

This would make it THE most flexible, but the LEASE human readable.


So it would be _great_ if the MQTT community could come up with an addressing approach (which can have alternatives, i.e. with and without JSON) and an example of how a few cases, i.e. Sensor and Light. should work with it. We can then get that coded up for testing during the semester break that¡¯s coming.
Not sure who the MQTT community is¡­but I can write use cases, if that is what you are asking.


Bob

--
Bob Jacobsen
rgj1927@...






Locked Re: MQTT Connection in JMRI

 

it would be great if the community could converge on how JMRI should work with MQTT devices.

Some boundary conditions:

1) JMRI has specific control metaphors: Turnout (i.e. one-bit digital output), Sensor (i.e. one-bit digital input), Light, SignalMast/SignalHead, Reporter, etc. They each function a bit differently. _How_ they work with MQTT is something that needs to be defined: What does it mean when a MQTT-based light wants to set intensity to 75%? What should a Sensor look for to decide whether it should go to ACTIVE, INACTIVE, UNKNOWN or INCONSISTENT, and if something else happens, what should it do?

2) JMRI hardware flexibility comes from the system name metaphor. A Turnout (T) in the MQTT system (M) can have a system name like MT/stuff/morestuff/123/$5/dancing-bear-emoji for all JMRI cares. So you can put a lot of information into that system name to define the operation, so long as it can be unambiguously parsed. It¡¯s even possible to have different formats for the same underlying hardware devices, c.f. CT3001 vs CT3b1 and all the weird and wonderful MERGE CBUS formats.

So it would be _great_ if the MQTT community could come up with an addressing approach (which can have alternatives, i.e. with and without JSON) and an example of how a few cases, i.e. Sensor and Light. should work with it. We can then get that coded up for testing during the semester break that¡¯s coming.

Bob

--
Bob Jacobsen
rgj1927@...


Locked Re: Blocks next to Crossovers are inaccessible as transit destinations

 

Lain.? Yes there are End Bumpers at every stop and each has a Signal Mast. Those Signal Masts are included in the SML and used for defining Sections.

Dave.? For your first question, I changed from automatic SML to manual SML because I was having issues running automatic SML with automatic trains.? With automatic SML, as soon as I created a train using Dispatcher, the train would start briefly, and then the signals would change to block the movement of the train.? This seems like a bug to me because as soon as I went to manual SML, it worked fine.? And as far as I can tell, the manual SML was identical to the automatic SML.? With automatic SML,?I would get an error on the console saying that the train was stopped because the next section was not allocated.? if I went into the SML logic at that point and updated it, it would clear the signal and the train would run automatically.? No clue.

Beyond that, I included the Signal Masts at those other locations so that I would have Signal Masts available to define Sections.? I guess it never occurred to me that you could have sections without signal masts.? I assumed that the sections were somehow tied into the Signal Mast Logic, probably because you can generate sections automatically, and they seem to run between signals.? ?Newbie mistake.? I'll take a look at that again and see what I can come up with. Given that, I also see now that those additional signals don't really provide value particularly if you use manual SML.? I was assuming the automatic tools under the Signal Mast Logic table would create a system for me that worked.? ?Perhaps they need a little work.? Thanks for the advice.

Thanks again,
Jack