mySensors is a build your own, Arduino based mesh networked sensor system. Using inexpensive Arduino platforms, 2.4ghz radios and some of the large amount of open source example code you can build a large system of sensors and remote control devices. They have excellent battery life and support a huge number of different sensor types without doing much more than cutting and pasting a few lines of example code from the examples into your own Arduino sketch.
XTension can connect to either a directly connected arduino running the Serial gateway code, or to a mySensors gateway built into an ESP8266 wifi based Arduino.
Upon the first reception of data for a new node XTension will automatically create a unit for the new endpoint. The addressing convention is the nodeID and child ID as 2 bytes hex each and then a period followed by a descriptive suffix of what the variable they are reporting is. ie: “A201.TEMP” The address and suffix will be placed in the name of a new unit created, after that you can change the name in XTension to something more descriptive and useful.
XTension supports the default “AUTO” assigning of node addresses. It is not necessary to hard code that into the nodes themselves. The logic for finding the next available node address is as follows: All known XTension units on the interface are scanned and the highest address found is incremented and returned to the node. Gaps in the addresses are initially ignored in case you’ve got offline units or have moved things temporarily around in XTension. If the next available number would be 255 then the array is searched for a gap to fill in.
If you use the query verb on a mySensors unit the gateway will send a query to the unit to request a reading or a refresh of the current state which will then be reflected in XTension.
As of build 932 XTension properly supports sensors with a node ID of 0. So if you wish to build some sensors or IO into the gateway itself that is now supported.
Also as of build 932 XTension better handles non-numerical data that may be returned by a sensor. For example the barometer sensor that can send “steady”, “rising” or “falling” this data is now assigned to the description field of the unit for display. If you wish to use this value in a script you can trap the setting of it in the Unit’s ON script by creating an “on descriptionChanged( newDescription)” handler which will be called with the new value when it changes.
XTension will regularly ask the gateway for it’s version number as a “ping” some users had trouble with their wifi gateways getting disconnected in a way that didn’t generate a standard error so XTension didn’t know the connection had dropped. If the device does not respond to the request for version info the connection is restarted. Any gateway version that you run should support the request for version info.