# rolling-stock-display-simulation-tool A tool for connecting virtual devices to the Rolling Stock platform. Devices need to be registered and credentials prepared in a JSON file put in input.json (or specified in a variablle) Sample input.json file structure: ``` [ {"username": "DEVICE197", "host": "rolling-stock-sandbox2-openfire.onsmartengineering.com", "port": 5222, "ping": 15, "password": "a32c695ccde9"}, {"username": "DEVICE198", "host": "rolling-stock-sandbox2-openfire.onsmartengineering.com", "port": 5222, "ping": 15, "password": "c93f60d35d51"}, {"username": "DEVICE199", "host": "rolling-stock-sandbox2-openfire.onsmartengineering.com", "port": 5222, "ping": 15, "password": "ddf4d41f846f"}, {"username": "DEVICE200", "host": "rolling-stock-sandbox2-openfire.onsmartengineering.com", "port": 5222, "ping": 15, "password": "07fd03b6fce0"} ] ``` The tool sends regular presence messages (with harcoded dummy versions content) and properly responds with "unsupported command" to any command sent to it. ## Usage: ```./rolling-stock-display-simulation-tool``` ## Building If the target system is linux amd-64 based you can just copy the binary and use it. Otherwise build the binary like every other golang binary and then copy it. ```go build``` ## Environment variables | Variable | Required | Default Value | Description | | ------------------------------------------------- | -------- | --------------------------------- | -----------------------------------------------------------| | **Credentials:** | | | | CREDENTIALS_FILE_LOCATION | NO | input.json | Database username | | | | **GeneralOptions:** | | | | PRESENCE_STATUS_DELAY | NO | 2 min | Delay for online presence message loop | | COMMAND_REPLY_DELAY | NO | 10 sec | Delay for command message reply | | EXECUTE_SINGLE_STATUS_MESSAGE | NO | false | Send one presence stanza message for clients and terminate| | |