No announcement yet.

xapmcs1Wire - 1 Wire (DS9097U / DS9490D) xAP Node

This topic is closed.
  • Filter
  • Time
  • Show
Clear All
new posts

    xapmcs1Wire - 1 Wire (DS9097U / DS9490D) xAP Node

    Component of mcsEnvrionment plugin to provide 1-Wire sensor data onto the xap network. Supports BSC 1.3 schema with user configurable configuration keys.
    Uses sensor identification conventions of mcsTempeature and mcsEnvironment.

    PR 1 1.1.1 Change polling resolution from minute to second
    PR 2 1.1.2 Wind speed and gust not reported
    PR 3 1.1.3 State key not properly delivered
    PR 4 1.1.4 Text key reported as stream
    PR 5 1.2.0 Report Address of unrecognized devices
    PR 6 1.3.0 Added LCD / DS2408 per Message.Display and xapBSC
    PR 7 1.3.1 No Errors to \Data txt file during startup
    PR 8 1.3.3 Protect array bounds error when no com port selected
    PR 9 1.4.0 Add DS2890 Support
    PR10 1.4.0 Report change events rather than periodic info
    PR11 1.5.0 Add WDT loopback schema support
    PR12 1.5.1 Stopped in June
    PR13 1.6.1 Add Browser Interface
    PR14 1.6.1 Add DS2760 (soil moisture from
    PR15 1.7.0 Add DS2409 (hub from
    PR16 1.7.12 Force Temperature conversions as maximum resolution
    PR17 1.7.15 Add counter calibrations wind/water/rain/watt
    PR18 1.8.0 Add min/max selectable resolution for temperature sensors
    PR19 1.8.6 Westerly Wind directions not delivered
    PR20 1.8.6 Conversion error on Low Resolution temperature sensor
    PR21 1.8.8 Unwildcarded BSC not recognized as query or command
    PR22 1.8.9 DS1822 gives method error when trying to set resolution
    PR23 1.8.10 Counter callibrations unable to be changed from default
    PR24 1.8.11 Wind Gust computer per adapter rather than only once per cycle
    PR25 1.9.0 Added support for AAG TAI8570 Barometer
    PR26 1.9.2 Gust not computed if port defined as <COMx> (i.e. default port)
    PR27 1.10.0 Added support for TAI8558 and any general 8 bit IO using DS2408
    PR28 1.10.0 Added non-mission support for DS1921 Thermochron
    PR29 1.10.0 Added non-mission support for DS1922/DS1923 Humidity & Temperature (untested)
    PR30 1.10.1 Does not recognize DS1922
    PR31 1.10.3 Use of 1-wire drivers before downlaod (inithw line 70 error)
    PR32 1.10.4 Add download of 1-wire drivers if not present on computer
    PR33 1.10.5 Add activity sensing for momentary DS2406 switch changes
    PR34 1.10.6 DS1923 recognition added
    PR35 1.10.7 Added debug to DS2406 Activity Sensing
    PR36 1.10.8 Alarming switch status reporting wrong state
    PR37 1.10.9 Switch polling not occuring
    PR38 1.10.10 Do not poll for wind gust when no wind sensor connected
    PR39 1.11.0 Add hobby-boards sunlight/solar sensor support
    PR40 1.11.0 Change download to use released rather than beta drivers
    PR41 1.11.1 Second channel of DS2423 counter not processed
    PR42 1.12.0 Add DS2438 Baro support
    PR43 1.13.5 Add Hobby-Boards LCD Support
    PR44 1.13.5 Add support for Cr & Lf on LCD
    PR45 1.13.5 Add user settings for LCD dimensions
    PR46 1.13.5 Interlock added to prevent switch polling to interfere with normal polling
    ---- Version 2 -------------
    PR47 2.0.9 Change device polling rates to be selected for each sensor
    PR48 2.0.9 Add DS2408 Activity Latches support for non-LCD DS2408
    PR49 2.0.9 Wind Direction icon not processed correctly
    PR50 2.0.9 Add presence LED indicator to browser display
    PR51 2.0.9 Add Reject column & rename X to A to Accept devices
    PR42 2.0.12 Devices only poll once when no hub connected
    PR43 2.0.12 Add Temperature & Analog Discrete
    PR44 2.0.12 Add reverse polarity for discretes
    PR45 2.0.13 UID incorrect for Temperature Discrete
    PR46 2.0.14 Added debug for non-polling problem
    PR47 2.0.16 Add icons to ON/OFF formatting
    PR48 2.0.16 Show icon/Show rejected settings intermixed
    PR49 2.0.26 Port defaults to 8015 rather than 8014
    PR50 2.0.28 AAG Barometer debug added
    PR51 2.0.29 AAG Barometer not functional
    PR52 2.0.34 Temperature discrete not displayed for new temp sensors
    PR53 2.0.35 No Lightning count updates
    PR54 2.0.43 Some selection data lost on very large sensor lists
    PR55 2.0.43 Reject logic allows sensor to be rediscovered
    PR56 2.0.45 Baro uses VAD0 rather than VAD1
    PR57 2.0.46 Discrete outputs DS2405/DS2406 not working
    PR58 2.0.48 pH device type added
    PR59 2.0.48 rows 3 and 4 added to LCD output
    PR60 2.0.49 Include presence logic for DS1990
    PR61 2.0.52 Updates to DS1990 present/not present logic
    PR62 2.0.53 DS2438 Temperatures not calibrating correctly
    PR63 2.0.54 Sunlight sensor suffix changed from @ to X
    PR64 2.1.0 Add user selection on significants digits
    PR65 2.1.1 Include CAL offset to Baro calculation
    PR66 2.1.2 Resolution for DS18B20 always 12 bits
    PR67 2.2.0 Add calibration for Discretes (# consecutive samples to change state)
    PR68 2.3.0 Add debug output for bsc query
    PR69 2.3.0 Add button to perform bsc query of all devices
    PR70 2.4.0 Update to xAP specification V1.3
    PR71 2.4.1 Rejected devices do not reappear when show rejected checked
    PR72 2.4.3 Typo in xAPBSC Button
    PR73 2.4.3 Status sort produces a blank page
    PR74 2.4.5 Added abilty to source periodic messages
    PR75 2.4.6 Allow user input of temperature/analog alarm trigger thresholds
    PR76 2.4.8 Slow only valid function types when assigning type to sensor
    PR77 2.4.9 Temperature switch never changes state
    PR78 2.4.10 Calibrate temperature before evaluating temperature switch limits
    PR79 2.4.10 Add option for Homeseer-built Page Header
    PR80 2.4.11 Redirect HS Page header buttons to HS Server
    PR81 2.4.13 Provide bsc.event response to bsc.cmd
    PR82 2.4.21 Add DS2408 encoding as a Wind Direction sensor
    PR83 2.4.21 Allow both DS2423 counters to be same type count
    PR84 2.4.21 Add a Sum sensor type for DS2423 that has both counters as same device
    PR85 2.4.27 Correct multichannel devices reporting to include .0 for first channel
    PR86 2.4.28 Make discrete subaddress consistent for events and info
    PR87 2.4.29 DS2438/DS2450 Voltages and Temperatures reported with wrong index/uid
    PR88 2.5.0 DS2438 Sunlight (current measurement) scaled by entered calibration factor
    PR89 2.5.0 Duplicate UID check made and duplicates automatically resassigned
    PR90 2.5.0 Display status of Deleted Sensors changed to blank
    PR91 2.5.0 Deleted sensors now displayed when Show Reject checkbox enabled
    PR92 2.5.1 Show name of hub branch when branch switch failure occurs
    PR93 2.5.2 Show primary device function name when failure occurs reading device
    PR94 2.5.3 Secondary devices do not carry numeric suffix is subaddress (e.g. windgust vs. windgust.1)
    PR95 2.5.4 Add icons to DS2408 wind direction formatting
    PR96 2.5.4 Add calibration offset to moisture sensor
    PR97 2.6.0 Allow DS2423 sensors to be calibrated with multiplier in the Cal column
    PR98 2.6.0 Add support for user-defined lablels for DS2423
    PR99 2.6.1 Applied Significant Digit table to all xAP output, User Labels, and removed other sig digit user entries
    PR100 2.6.1 Added debug to sunlight sensor processing
    PR101 2.6.2 Include Content error message introduced in 2.6.1
    PR102 2.6.4 Remove spaces for address fields of xAP message before sending
    PR103 2.6.5 BSC Commands not accepted without ID in the message body
    PR104 2.6.6 BSC Command handled differently between Output.State and Output.State.1
    PR105 2.7.0 Reenable the Config schema to allow remote setting and query of ini settings.
    PR106 2.7.1 Config.Set message on Calibration property also sets the Reverse property.
    PR107 2.7.2 Removed DisplayText key from Relay and Switch reporting
    PR108 2.7.4 Fixed number of significant digits for baro display
    PR109 2.7.4 Minimum humidity hard coded at 10%
    PR110 2.7.5 Significant Digits table checkbox unintentionly removed
    PR111 2.7.6 Added cumulative counters in addition to daily
    PR111 2.7.7 Added missing fields from GUI form
    PR112 2.7.8 Fixed rising/falling to DS2438 barometer & included metric conversion
    PR113 2.7.8 Changed polling selection to be fastest rather than last for a device
    PR114 2.8.0 Fixed wind gust calculation
    PR115 2.8.0 Removed Wind sensor as option for 2nd counter of DS2423
    PR116 2.8.0 Only show poll rate for first instance of a device, others (including hub) are "Slaved"
    PR117 2.8.0 Show wind gust poll rate at max of 15 seconds
    PR118 2.8.1 Add error description when Not Present condition is reported
    PR119 2.11.1 Provide offset to counters with edit of _HISTORY values as last entry in .ini file
    PR120 2.11.3 Add support for hobby-boards inspeed wind instrument
    ------------------- Version 3 --------------------
    PR121 .NET implementation without need for Microsoft Java Virtual Machine
    PR122 DS2408 produces object missing errors
    PR123 Add options for header formatting control
    PR124 Dbl-Clk on tray to show main browser page
    PR125 Default adapter port shows up twice in adapter list
    PR126 Enumeration error when items removed from enumeration
    PR127 Add knots as an windspeed option
    PR128 Correct reading of windspeed selection
    PR129 Use 1-wire icon for program icon
    PR130 Does not respond to xapbsc.cmd messages
    PR131 User type 0 and 2 do not work as counters
    PR132 User icon HTML format missing apostrophe
    PR133 Output devices do not function
    PR134 Barometer polling rates cannot be decreased from browser
    PR135 Baro-configured DS2438 does not show temperature correctly
    PR135 Add Baro Trend device
    PR136 Add user selection of counter rate smooting
    PR137 Baro reports twice
    PR138 Rev polarity not honored on relays
    PR139 HS Channel 5,6,7 mapped into 0,1,2 for AAG DS2408 with LCD
    PR140 DS1990A does not report off/missing
    PR141 Add timing debug
    PR142 Protect timers from too rapid trigging
    PR143 Restart debug log daily with one week cycle
    PR144 Allow outputs to be on a non-branched port of hub
    PR145 Correct reverse polarity handling on relay outputs.
    PR146 Add DS2413 (Dual PIO)
    PR147 Integrate new xAP logic
    PR148 Display time Today in 24 or 12 hr format
    PR149 Correct links on Comm and Messages page
    PR150 Browser disconnect messages demoted to debug
    PR151 Debug added to trace xAP heartbeat
    PR152 Main trunk sensors not updated if hub is present
    PR152 Ignore VDD=0 readings for Wind Direction DS2438
    PR153 Add consistent subfolder operation under HS3
    PR154 Add Hobby Boards 4 channel hub support
    PR155 Create debug logs daily
    PR156 Correct Gallons to Liters scaling for counterrs
    PR156 Invert scaling for Gallons to Liters

    Latest VB6 (2.x.x) build xapmcs1Wire is located at
    Latest .NET (3.x.x) build xapmcs1Wire is located at

    .NET version dependencies:
    The .NET framework 2.0
    The .NET J# 2.0 redistributable
    The 1-wire drivers
    Last edited by Michael McSharry; November 2, 2014, 07:16 PM.

    Thanks so much Michael. I'm starting down the Xap path and I really appreciate your efforts to help those of us blundering about in the dark

    I have the Net framework hub and viewer running. I downloaded your 1 wire app but it shows
    "xap-header{v=12 hop=1 uid=FF000500 class=Homeseer.Event source=mcs.OneWire.BULL}Event.Log{ time=12/30/2004 7:32:55 PM type=mcsXap1Wire data=Readmessage Line 20 ActiveX component can't create object } '

    That is the condensed version of the error ie I removed LF/CR. I do not have HS installed on this machine as I thought Xap did not require it. Any ideas what I've done wrong ?

    Last edited by bruce l; December 30, 2004, 08:30 PM.

    "The universal answer is 42."


      I thought I had removed the ActiveX reference along time ago, but I guess not. I removed it and the update is posted.



        I've been tinkering with your xapmcsuirt plugin for the usb-uirt and find a similar error in the xapmcsuirt.txt file that is generated. Specifically:

        "mcsXapUIRT Main Load 290 ActiveX component can't create object"

        I've installed and registered the xapax.ocx, so I'm not sure what's going on. Would you mind taking a look? I would really appreciate it, as I'm trying to move towards a more distributed HA solution as detailed in your word doc posted elsewhere, and I don't have the skill to write my own plugins. Thanks a lot for all of your hard work on this forum and others.


          The item that is causing the problem is the hspi_uirt.ocx. I'll include the one that I had at the time I first wrote the xap module. Later ones may be available from where the UIRT is distributed.

          I had used the xapax.ocx in my early xap days, but no longer use it except in mcsMusic for the slimp3 connector interface. I still have some that include it in project references. This one did, so I recompiled after removing that reference. You will need to register hspi_uirt.ocx as it looks you do not have it in your Homeseer folder. You can put it anywhere for xap applications, but if you are going to run it as a Homeseer plugin then you will want it located in the Homeseer root folder. I still retain all my hspi_xxx.ocx in this folder if for no other reason that for organizational purposes. The downside to this is that Homeseer will see it each time on startup and do some management with it so it will be available as a HS interface if the user wants to add it.

          This was awhile back when I did this. I do not have a UIRT so no testing was done with it. There are also two IR-related schema. My xap plugin supports both, but James' that is posted on this message board supports one. I do not recall which one was implemented with the xapmcsUIRT.exe. When you get it going and look at the messagea viewer then you will see which one is supported. If it uses the "location=xxx" then it will work only with my xap plugin.
          Attached Files


            North Direction

            Trying to get Xap 1-Wire to see wind direction properly. Changing the North Direction in setup does not seem to do anything. Wind speed and everything else is reading fine.


              I'll take a look, but will not be able to change anything if needed until I get back this weekend.


                As best I can tell it should be fully functional. The ini file in the \Config subfolder should contain an entry with Key "NorthDirection" with an expected range of 0 to 15. Confirm that it is the number that you enter in the setup page. The direction is determined from 4 Analog readings. With the IO window showing observe the set of 4 analog reading for the DS2450. They should be in the range of 0 to 4.7 with the majority over 4. Let me know what it is reading so we can isolate between a hardware and software problem.


                  I only get one reading from it

                  Port=USB3 Address=1500000001004020 Family=DS2450 Voltage= |

                  Does this indicate a bad reading?
                  I have
                  I had this thing working on a temp05, now I am trying to get it to work on a ds9490.

                  In homeseer I see the direction changing as I do in the XAP viewer messages.
                  In the Xap viewer I am receiving these messages:
                  source=mcs.OneWire.MAIN154:USB3.1500000001004020.WindDirecti on.USB3

                  I am working on trying some numbers in the range you suggested to see if they get the readings corrected.

                  I got the readings corrected. I still don't see why the I/O window doesn't show the readings but the xap viewer does.
                  Last edited by siliconmelt; February 24, 2005, 08:09 AM.


                    I'm confused as to what the situation is now. The readings shown are valid with what looks like on the surface should be a 45 degree wind direction with a setup WindDirection value of 0.

                    I'd have to look deeper into what I put into the IO window feedback. I did not intend to exclude the wind direction info, but I know I never paid much attention to it since I typically used the xap messages to observe during checkout.

                    Are you setup OK now, or are you still getting only 0 for wind direction?


                      everything seems to be ok.

                      I just didn't see why the I/O window shows different than the xap messages.


                        1-Wire LCD Text Interface

                        AAG Text Interface (DS2408) has been added. It is actually a LCD Text display and 3 discretes. The discretes can be configured as either input or output. As inputs they already have pull-up resistors. As outputs then additional external circuitry will be needed to support the drive requirements. A simple output interface ciruit is available on the Midon Design site. It is also available in the DS2408 data sheet. A six-pin header is provided for easy interface of the discretes.

                        The LCD text is controlled via xapBSC schema with the Text key. It can also be controlled with Message.Display schema.

                        I implemented a 16 x 2 Display, but this can be easily changed should it be necessary.


                          1 Wire pot?

                          Does anyone know if this plugin supports one wire pots such as the DS2890? If so, does anyone have experience with the performance of this chip? My intention is to try to use this chip as a volume control for a amplifier. With this, I could discretly set volume level from Homeseer. Is this feasable?


                            It looks to be a straight-forward device for the software interface. It was actually an option for the AAG LCD driver to control the contrast on the LCD. I ordered samples so sometime in the future I will have something to play with. I'm not familiar with the xAP Plugin's output control so you will need to jump over to that forum and determine how to map a virtual device's DeviceValue or DeviceString into a BSC output command. It should simply be a matter of writing hs.SetDeviceValue, but I'm not cerrain. Another approach would be to use the x10 schema and use the brightness level to be the pot setting.


                              List of supported device

                              Hi, I was wondering if xAP 1-wire or mcstemperature supports the Ds1990 ibutton temp sensors or ibutton serial numbers? Thanks