EDS 1-Wire Server Plugin

Posted on
Tue Feb 18, 2014 6:41 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

EDS 1-Wire Server Plugin

The OWServer alpha is here (v0.6.2). You can download the file directly or from the Plugin Library.

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.
config_dialog.jpg
OWServer Device Window Screenshot
config_dialog.jpg (248.8 KiB) Viewed 3944 times

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.
device.jpg
OWServer Plugin Config Dialog
device.jpg (127.81 KiB) Viewed 3941 times

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
Last edited by DaveL17 on Mon Mar 03, 2014 1:30 pm, edited 4 times in total.

Posted on
Tue Feb 18, 2014 10:06 pm
jay (support) offline
Site Admin
User avatar
Posts: 13027
Joined: Mar 19, 2008
Location: Austin, Texas

Re: EDS 1-Wire Server Plugin

Looking forward to seeing this one as I believe there have been requests.

(moved to the more appropriate forum)

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Wed Feb 19, 2014 4:41 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

Thanks for moving the thread Jay. I wasn't quite sure where to post given the stage of development.

Posted on
Sun Feb 23, 2014 10:49 am
hwitten offline
Posts: 548
Joined: Dec 26, 2007
Location: British Columbia

Re: EDS 1-Wire Server Plugin

Any chance the plugin will also work with the older HA7Net?

I had a RealBasic prog to parse the HTML but am not using it anymore. Would be nice to get the 1-Wire temps back on line.

Posted on
Sun Feb 23, 2014 12:46 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

hwitten wrote:
Any chance the plugin will also work with the older HA7Net?

I had a RealBasic prog to parse the HTML but am not using it anymore. Would be nice to get the 1-Wire temps back on line.

Definitely not out of the box. The plugin is written to parse the XML output of the OWServer-ENET-2 and that won't cut it for the HTML output of the HA7Net. I want to make sure that it's stable first--getting really close to that--and then will look to expand. First on the list is to add additional sensor types. Right now, stability and reliability are the big focus.

That said, once it's built out to v1.0, I don't think it would be that hard to add to the HA7Net. Would just need a clean copy of the HTML file or a physical box to do the needed testing to ensure it's solid.

I'll add it to the list.

Posted on
Sun Feb 23, 2014 2:06 pm
hwitten offline
Posts: 548
Joined: Dec 26, 2007
Location: British Columbia

Re: EDS 1-Wire Server Plugin

Make it low on the totem pole, I.e. no rush.

If/when you get to it we'll setup temporary access.

Posted on
Sun Feb 23, 2014 3:05 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

hwitten wrote:
Make it low on the totem pole, I.e. no rush.

If/when you get to it we'll setup temporary access.

Roger that. Thanks!

I figure reliability should be top of the totem pole given what folks may link to the plugin's output.

Posted on
Sun Mar 02, 2014 3:50 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

The alpha version (v0.6.2) of this plugin has been submitted. Will update this thread when it's available for download.

Update: The plugin is now available. See the first post in this thread or visit the Plugin Library.

Posted on
Thu Jun 05, 2014 5:55 pm
mark_anderson_us offline
Posts: 65
Joined: Jun 05, 2014

Re: EDS 1-Wire Server Plugin

[quote="DaveL17"]The OWServer alpha is here (v0.6.2). You can download the file directly or from the Plugin Library.

[quote]

Hey Dave,

Got my trial installed, been through basics, feel like an expert now.

Neither link seems to work, where can i find the plug-in?

Regards

Mark

Posted on
Thu Jun 05, 2014 6:06 pm
matt (support) offline
Site Admin
User avatar
Posts: 17642
Joined: Jan 27, 2003
Location: Texas

Re: EDS 1-Wire Server Plugin

Sorry, with the big web site switchover yesterday we are still cleaning up URL redirects, and finishing the user contribution library back-end.

In the mean time, here is the correct (new) link to this plugin.

Image

Posted on
Fri Jun 06, 2014 1:43 pm
mark_anderson_us offline
Posts: 65
Joined: Jun 05, 2014

Re: EDS 1-Wire Server Plugin

Thanks. Got it!

Posted on
Fri Jun 06, 2014 7:06 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

Thanks Matt!

Posted on
Fri Jan 09, 2015 5:35 am
DrLove offline
Posts: 169
Joined: Dec 12, 2014
Location: Sweden

Re: EDS 1-Wire Server Plugin

Feature request!

Multiple servers.

I have 2 OW-servers and would like to monitor both in Indigo, is this possible?

Best regards, L

Love Kull (yes it's my name)
Blog (in Swedish)
Sweden

Posted on
Fri Jan 09, 2015 7:27 am
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

DrLove wrote:
Feature request!

Multiple servers.

I have 2 OW-servers and would like to monitor both in Indigo, is this possible?

Best regards, L
Hi DrLove - Thanks for the request and for using the plugin.

This should be possible, but it's a non-trivial rewrite of the code. However, I can see how it would be very useful for many users. Let me think about how best to accomplish that.

In the interim, it would be possible to make a copy of the plugin and run two instances of it, but it's not simple as it sounds. PM me if you want to know more.

Posted on
Fri Jan 09, 2015 12:43 pm
DaveL17 offline
User avatar
Posts: 3220
Joined: Aug 20, 2013

Re: EDS 1-Wire Server Plugin

These are the steps to follow to have more than one instance of the OWServer plugin running at the same time. I can't guarantee that this will be problem free, and would not recommend trying these steps with any other plugin because very bad things will probably happen. For example, these steps will not work with the WUnderground plugin. There is no warranty, expressed or implied. :D

1. Find the source file located at /Perceptive Automation/Indigo 6/Plugins/OWServer.indigoPlugin

2. Hold down the option key and drag a copy of this file to your desktop.

3. Rename the file on your desktop to OWServer1.indigoPlugin (something different from the original name.)

4. Right-click on the OWServer1 file that you just renamed and select "Show Package Contents".

5. Find the file Info.plist within the package and open it in TextEdit.

6. Change the following lines (you are changing only the string values and nothing else)

from:
Code: Select all
<key>CFBundleDisplayName</key>
<string>OWSwerver</string>
<key>CFBundleName</key>
<string>OWSwerver</string>
<key>CFBundleIdentifier</key>
<string>com.fogbert.indigoplugin.OWServer</string>

to:
Code: Select all
<key>CFBundleDisplayName</key>
<string>OWSwerver1</string>
<key>CFBundleName</key>
<string>OWSwerver1</string>
<key>CFBundleIdentifier</key>
<string>com.fogbert.indigoplugin.OWServer1</string>

save, and exit.

Double-click on the file on your desktop (that you have just edited) and follow the prompts to install and enable.

Theoretically, there should be no limit to the number of instances of the plugin as long as each has unique identifiers and there should be no conflicts or collisions between plugin instances. I replicated these steps in my development environment and had no trouble.

Please let me know how this works out for you.
Dave

Who is online

Users browsing this forum: No registered users and 0 guests