Overview:
The OWServer plugin is designed to pull data from an EDS 1-Wire Server and make it available in Indigo Home Control Server. With it, you can create individual Indigo devices that represent 1-Wire sensors. OWServer v1.0 will work with the Dallas (Maxim) DS18B20-based temperature sensors only—future versions of the plugin will be able to read other sensor types as well. The plugin is based on OW-Server firmware 1.16 (EDS is now on firmware 1.35.) While newer firmware versions shouldn't affect the plugin's function, there's always a possibility. There is no danger in trying the plugin on a newer firmware version. The plugin can't damage your 1-Wire network in any way.
Installation:
Before installing the OWServer plugin, it is important to make sure that your 1-Wire server is up and running on your network. Once that’s done, pull up the following URL: [http://<INSERT IP HERE>/details.xml] You will (should) be presented with a dump of the XML file that shows that the 1-Wire server is communicating properly. It will look like this:
- Code: Select all
<Devices-Detail-Response>
<PollCount>1119028</PollCount>
<DevicesConnected>2</DevicesConnected>
<LoopTime>2.012</LoopTime>
<DevicesConnectedChannel1>1</DevicesConnectedChannel1>
<DevicesConnectedChannel2>0</DevicesConnectedChannel2>
<DevicesConnectedChannel3>1</DevicesConnectedChannel3>
<DataErrorsChannel1>0</DataErrorsChannel1>
<DataErrorsChannel2>0</DataErrorsChannel2>
<DataErrorsChannel3>0</DataErrorsChannel3>
<VoltageChannel1>4.74</VoltageChannel1>
<VoltageChannel2>4.73</VoltageChannel2>
<VoltageChannel3>4.72</VoltageChannel3>
<VoltagePower>4.96</VoltagePower>
<DeviceName>OWServer_v2-Enet</DeviceName>
<HostName>EDSOWSERVER2</HostName>
<MACAddress>00:04:A3:BE:8C:CE</MACAddress>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>4C65354D765789</ROMId>
<Health>7</Health><Channel>1</Channel>
<RawData>FA004B467FFF0610A4FF00000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>15.6250 Deg C</PrimaryValue>
<Temperature Units="Centigrade">15.6250</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20>
After downloading OWServer, double-click on the file and Indigo will install and enable the plugin. Once installed, Indigo will present you with a dialog box asking you to configure the plugin.
Plugin Configuration:
Server IP Address: enter the IP address of your 1-Wire server.
Server Type: Leave this option set to OW-SERVER-ENET-2.
Test the IP Address: This button will allow you to test the plugin’s ability to talk to your 1-Wire server. In order for this button to work, you must click ‘Save’ and then reopen the configuration dialog box from the Indigo plugins menu (after entering your 1-Wire server’s IP address, of course.) Clicking the ‘Test’ button will print out a parsed copy of the 1-Wire server XML to the Indigo log.
Degrees: choose your preference: Fahrenheit or Celsius.
Display Precision: choose how many decimal places you would like to appear in the Indigo main window (the actual precision of the temperature values is unchanged and retained within the plugin itself.)
Polling Interval: choose how often you would like the plugin to update the sensor devices in Indigo (this does not affect the sampling rate on the 1-Wire server itself.)
Server Timeout: choose how long you would like to wait for the 1-Wire server to respond to each poll (typically, 15 seconds is more than reasonable, as the 1-Wire server will typically respond instantly.)
Enable Debugging: generally, you will leave this unchecked. However, if you are experiencing problems, this can help to isolate the cause. (Enabling this option will not affect the basic operation of the plugin itself. It will result in a lot of information being written to the log that isn’t needed for day-to-day operation.)
Use:
In order to use the plugin, you create devices that represent sensors on your network. This is easy.
1. From the main Indigo devices window, click the New button to create a new device.
2. From the Type drop-down box, select OWServer.
3. From the Model drop-down box, select 1-Wire Temperature Sensor.
4. From the device configuration dialog box that opens, select the “ROM ID” value that represents the sensor that you would like to assign to this device. This option will only show unassigned sensors on your network so that you can’t end up assigning a 1-Wire sensor to more than one Indigo device. Leave “Show sensor value state” checked.
5. Give your new device a descriptive name.
That’s it! You are now ready to use your new sensor device in Indigo. You can use it in schedules, triggers, and add state values to control pages.
Sensor States:
OWServer v1.0 supports the following device states:
- On/Off
- Sensor Value (temperature)
- Sensor Channel
- Sensor Family
- Sensor Health
- Sensor Type
- Sensor Power Source
- Sensor Resolution
- Sensor ROM ID
- User Byte 1
- User Byte 2
Other Plugin Features:
- On/Off state: it's not possible to turn the sensors themselves on and off. Therefore, the plugin uses this value to show you whether your 1-wire sensors are online. The plugin is able to distinguish between sensors such that it's able to alert you to individual sensors dropping offline (sensor fail test).
- Network down: the plugin will alert you if your 1-Wire network has gone offline (server fail test).
- ‘Send Status Request’ this button will ask the plugin to update the value of the sensor where the request was made. It does not update all the sensors simultaneously. While you would generally just leave the plugin to do its thing, this is useful to ping an individual sensor if it’s reporting that it’s offline.
Future Features:
- work with many more 1-wire sensor types including humidity, illumination, and other compatible sensors.
- Allow communication with EDS’ HA7Net.
Note: moved from http://www.perceptiveautomation.com/userforum/viewtopic.php?f=57&t=11307