Dash OS Network Server for URC

Dash Network Server

Login or Register to see price!


With this Network Server Dash App you will be able to easily receive, parse, and react to Network Communication that is sent to your System Controller.  It supports TCP & HTTP Communication Protocols and has built-in security options.  For example, you could create a webpage that would trigger macros within your URC System or deeply integrate other IP Devices & Systems.


Sold by: Dash OS
SKU: dash-network-server. Category: .

Product Description

Dash Network Server is a Dash App which allows you to run either a TCP/IP Server on your Controller that is capable of receiving standard TCP and/or HTTP Connections from other devices and trigger any custom macros from there.

Another way to think of the Dash Network Server is that it is essentially a tool to build your own IP Control Protocols for your Home Automation Controller.  When you want to control say a Denon IP A/V Receiver, you will create an IP Driver which follows the protocol provided to you by Denon.  This protocol provides a list of commands that you can send to its “Control Port” that will tell the A/V Receiver to do something.  With Dash Network Server, you are providing the list of commands and the Control Port (or ports) that should be used.

Many people understand HTTP as the code and protocol used to power Internet Browsing, but it can also be used to provide a communication layer between devices.  Many Control & Integration API’s have moved to HTTP for their protocols since they are understood by a wider range audience.

To provide an example of what this Dash App does, we will look at the HTTP Server Feature of the Dash App.  While this may not have as applicable of a benefit that other examples may have, it is one that should make it easier to understand what the Dash App is specifically doing.

Following the diagram on the right.  We have a Controller running the Dash App and it has an IP Address of 192.168.1.225.  The Dash Network Server was setup with a port of 58520 and we have created a single Device Event that is configured to listen for the string “house-off.”

Once the Dash App is running, we can open a web browser and type http://192.168.1.225:58520/house-off which would instantly trigger our Device Event Macro (which most likely would then turn off the house).

Dash App Documentation Overview

This page will guide you through the installation, configuration, and programming of the specified Dash App.  You can navigate to various sections of the documentation by using the menu to the left.  New information is always being added to Dash’s Documentation so be sure to check back often to discover new ways to utilize your apps!

Driver Location:

My > IP Database > AUX > Dash Apps > Network Server

Driver File:

Dash – Network Server.csd

Dash OS Update History

Whenever an update is available for a Dash App, a log of the major changes in the version will be provided below.  This does not necessarily reflect every change that was made as some minor changes may have been made that are undocumented, but it should reflect any changes that affect the operation of the Dash App.

Version 0.90

  • Initial Beta Release

Download & Import the Dash App

In order for the Dash App to become recognized by the URC Programming Software we will need to import the provided TCM File into the Software.  Once this has been done properly the Dash App should show up in the “Add Other Devices” programming step in the “Accelerator Location” provided on the overview tab.

Import TCM

In your Programming Software locate the “Import TCM Files” button in the File tab of the top menu toolbar.  Click it to open the Windows File Browsing window.  Browse to the TCM file you wish to import and select it.

Import Dialog

Based on the Dash App / Module you are importing, a dialog similar to the below will appear.  This window indicates what interfaces are supported by the TCM File you selected.  System Plugins may only show “Driver” and “Base Station Files” when no User Interface is provided by the module.

Restart

After Importing your TCM File it is always safe to quickly restart your Accelerator Software to make sure your changes are properly made.  While this isn’t required every time, it is a good step to make sure everything is changed as needed.

Confirm

Confirm that the Dash App was successfully imported.  You can do this by navigating to the driver where the Dash App is installed (see Overview Tab) and making sure a checkbox is provided for “8. Select 2-Way Modules for Network Remotes / Keypads”

Non URC Network Setup

The Port you define during this step is the port that will be used for your Server.  All commands should be sent to the configured port!

Network Setup is a step that is required regardless of if the module is communicating with a physical device.  This step will go over how your Network Setup should be configured for this Dash App.  You will generally find the Dash App under “Network Setup > Non URC Device” in your URC Program.

This Dash App does not require that a specific IP Address is setup for it to operate.  However, it should be assigned an “Instance ID.”  When a module does not require a specific IP Address be setup, you can assign any IP Address to the Dash App that is unique from any other device in the list.

Your IP Address will be used as an “Instance ID” which will separate it from any other Dash Apps or URC Modules you have setup.  This ID is helpful when you want to create jumps to the Dash App / Module in multiple rooms / areas of your programming.

In the example below we have added two Dash Apps, “System Monitor” and “Time Tools.”  Each has been given a unique value “0.0.0.1” and “0.0.0.2.”  If they were assigned the same value the Dash App would result in an error and would not start up properly.

Step 11. 3rd Party 2-Way Settings

Properly configuring the Dash App Parameters in your Automation Programming Software is important in order to make the App work as you want it to.  These Parameters will be used each time the App starts up to configure how the App will operate.  Below we will go over each available parameter.

At this time the Parameters are not in use.

Dash App Feature Tour / Walkthroughs

Welcome to the Dash App Feature Tour!   This page will go over the features available to you when using the Dash App within your Dash OS-powered systems.  These tours may include specific programming guides, file examples, drivers, or simply detailed explanations of the features listed on the Product Description tab.  Use the tabs to the left to select a feature that you would like to learn more about!  Enjoy!

These examples will require a basic understanding of TCL Commands and Device Events.

Simple TCP Server

The Simple TCP Server feature allows you to listen on the configured port for a specific string (and, if desired, from a specific Host/IP).  Whenever the provided string or strings are sent to the Master Controller, it will trigger the macro that you have programmed to occur.

Generally this may be useful for many kinds of TCP/IP Devices that are able to send simple strings to a provided IP Address.  While there are many ways and devices that can take advantage of this feature, we will be walking through what should be one of the simplest ways to test this feature, using a simple URC 1-Way IP Driver.

What we are essentially doing here is building a protocol similar to what you might see with IP Receivers or other basic devices.  We provide what strings we will react to and what that reaction will be.

This guide assumes that the Module has already been added to the system and configured with a unique IP as defined in the Setup Documentation.

Find Listening Port

We will start by confirming the port that we are opening on the URC Controller.  By default the port that will be used is 58520, but this can be changed within the Non URC Network Settings.

In the screenshot above, we have defined a Unique IP for the Network Server and can confirm that port 58520 will be used for communication with this instance.

You can easily find the port that is being used by viewing Cloud Logs as the URC Controller is restarted or within the Dash Apps Parameters.

Create a Device Event

Next we will need to define a string that we want to respond to when received.  We do this by creating one or multiple “Device Events” and selecting our Network Server from the Available Devices listing.

String Operator

The first parameter, “String Operator,” allows us to define how the “Receive String” parameter will be compared to the string that is being sent by the Network Device sending the string.

Available Options:

  • Includes – The value of “Receive String” is found somewhere within the string sent by the Network Device.
  • Does Not Include – The value of “Receive String” can NOT be found in the string sent by the Network Device.  For example, if we set the “Receive String” to “no” and the device sends “yes maybe” the macro would occur since it does not include “no” anywhere in the string.
  • Equal To – The value of “Receive String” is exactly the value sent by the Network Device.
  • Not Equal To – The value of “Receive String” is not the value sent by the Network Device.
Case Sensitive

This parameter will determine whether it should consider the case of the strings when comparing them.  For example, if Case Sensitive were true, “Example” would NOT be equal to “example.”

Generally you should set this to true unless there are specific reasons you do not want the comparison to be case sensitive.

Receive String

Receive String is the string we want to listen for from the Network Device.  In our example, we will listen for the word “Demo”

From Host (IP)

The “From Host” parameter is provided as a security means to restrict what Network Devices may be able to trigger various types of commands.  If this is left as “0.0.0.0” or left blank it will allow any device to trigger the command.

If we wanted to only allow a Network Device that had a Static IP of 192.168.1.101, we would simply enter the IP.

Final Configuration

So here is the final Configuration we have created for our Device Event.  Our Event is Case Sensitive, must be Equal To, and must be the string “Demo.”  We do not care where it comes from.

Now that we have created our Device Event, we can program what we would like the URC Controller to do whenever it receives “Demo” (in our example) from another device on the network.

In our example, we will simply use the “Output to Cloud Logs” feature of System Monitor so that we can confirm everything worked as we wanted it to.

Testing the Simple TCP Server

Now that we have setup our first Device Event for receiving simple TCP strings, we can test it by following the steps provided below.  It is expected that you have already downloaded the configured module to your URC Controller before conducting these steps.

Cloud Logs on Startup

As the URC Controller boots up, if we are running Cloud Logs we can confirm that our TCP Server has been created by looking for this the following within our Cloud Logs.  This can also remind us of what port we configured our TCP Server on:

Send a TCP String – Edit Driver

There are many ways to send a TCP String.  This should work with pretty much any device which can be programmed to communicate using TCP/IP to the IP/Port of the URC Controller.

For our example, we will test by using a URC IP Driver.  To make this as simple as possible, we can simply open the “Dash – Network Server.csd” driver and use that since it is already formatted how we will need it.

From “My Database” select “Edit Driver”

Send a TCP String – Edit Functions

Select “Edit Functions” which is where we can configure how we will send the TCP String to our URC Controller.

Send a TCP String – Configure Port

You can skip this step if you did not change the listening port for the driver.  Otherwise, make sure that the port in “Driver Information” matches the port you used when configuring the driver.

Send a TCP String – Configure Port

You can skip this step if you did not change the listening port for the driver.  Otherwise, make sure that the port in “Driver Information” matches the port you used when configuring the driver.

Send a TCP String – Test Through Basestation

Next be sure you discover the Base Station that you want to send the TCP String from.

Send a TCP String – Target

For “Target,” you will be defining the IP Address of the URC Controller that you installed the Network Server onto.

Send a TCP String – Test

Now you can select any command from the list below and click “Edit Function” to bring up the TCP String Editor.  In our example we setup a Device Event that should trigger when we send the string “Demo” to the Controller.

Our Device Event will use “Output to Cloud Logs” from the System Monitor TCL Commands to tell us we have successfully triggered the macro.

Click “Test” once you have entered “Demo” into the Data field as shown.  You can then view Cloud Logs to see what happens!