Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
titleSample status
collapsetrue
{"msgType":"status",
	"data":{
		"debug":false,
		"cleanup":false,
		"pause":false,
		"trainCount":8,
		"trains":[
			{"trainNum":0, "spdSlow":40, "spdCaution":60, "spdNormal":100, "currentIndex":2, "schedule":[8, 10, 25, 29, 41, 43]},
			{"trainNum":1, "spdSlow":50, "spdCaution":70, "spdNormal":100, "currentIndex":0, "schedule":[8]},
			... ],
		"locks":[-1, -1, -1, 5, -1, -1, 2, 10, -1, -1, ..., -1]}}

Messages received by controller

  • Every message must contain the key command.
  • Depending on the command, additional keys might be required.

Valid commands

  • SHUTDOWN - Causing the controller to end the program and close all sockets
  • LOGOUT - Closing the connection, leaving the controller running
  • STATUS - Poll for the current status, should trigger a status reply message
  • CLEANUP - Start the cleanup procedure, sending the trains back to their home tacks
  • DEBUG - enable or disable verbose output, must supply additional payload
    • state - boolean value, true if verbose output should be activated
  • PAUSE - suspend or resume the controller, must supply additional payload
    • state - boolean value, true if controller should be suspended
  • LIGHT - activate or deactivate the lights on the railway, must supply additional payload
    • state - boolean value, true if lights should be lit
  • WAIT - Force a train to wait in the next station, must supply additional payload
    • train - integer train identification
  • START - Force a waiting train to immediately abort the waiting timer, must supply additional payload
    • train - integer train identification
  • SCHEDULE - Set the new schedule for a train, needs additional payload
    • train - integer train identification
    • currentIndex - current integer position in the schedule array
    • tracks - a JSON Array of integer values, representing the station tracks in the normal encoding (Hoermann API)
      Status
      colourYellow
      titleNeed to change this to enable KH-Reverse tracks
  • SPEED - Change the speed settings of a train, needs additional payload
    • train - integer train identification
    • speeds - JSON Array with three integer values spdSlow, spdCaution, spdNormal
  • TIME - Change the waiting times for a train
    • train - integer train identification
    • times -
      Status
      colourYellow
      titleDefine a format for this