No announcement yet.

Hobbyboards 4 channel hub

  • Filter
  • Time
  • Show
Clear All
new posts

  • Hobbyboards 4 channel hub

    I've ordered one of these:
    Just reading the instructions and it says it uses a custom IC rather than a 1-wire switch. I also see discussions of a 6 port hobby boards hub, which i cant see on the HB site.

    So now I have this sinking feeling this isnt going to work with mcs1wire ?

  • #2
    You are correct. xapmcs1wire generally uses the OWAPI libraries and these do not support custom ICs. I have done direct communication for some other devices in the past so the framework exists in the software. I will order one of the 4 port hubs. No promises as this will be on a time-available basis.


    • #3
      Bugger thats $58 down the drain then. I spent quite a bit of time trying to make sure i bought the correct one as well.
      Who sells one that is supported by you?

      Whilst on the subject is there an up to date list of supported devices anywhere - the locked sticky has a list from a few years ago which doesn't list the DS2413 dual io device, but i did see it get mentioned on another thread.

      i want to use this;



      • #4
        I would not give up on the 4 channel hub. I ordered it yesterday. AAG had one also, but I think the problem is that Maxim-IC discontinued the DS2409 so supply has dried up. There are other useful devices that have met the same fate such as the DS2423 dual counter. Companies that made lifetime buys are the only ones where you can get the devices.

        Devices get added as users have needs. What is currently in the code is below. There may be other variant application for the devices that is listed here such as DS2438 for sunlight sensor, but this is the full list of devices now in the code.

                        Case "DS1921"
                            'fail = DS1921(address, sPort)
        30:                 fail = DS1921(adapter, address, sPort)
                            'DSOther address, sPort
        40:             Case "DS1922", "DS1923"
        50:                 DS1923(adapter, address, sPort)
        60:             Case "DS1982"
                            '1982 presence is marked in the FindDevice procedure
        70:                 DS1982(adapter, address, sPort)
        80:             Case "DS1990A"
        90:                 DS1990A(adapter, address, sPort)
        100:            Case "DS2423"
                            'Counter (Wind Speed, Rain)
        110:                fail = DS2423(adapter, address, sPort)
        120:            Case "DS18B20"
        130:                fail = DS18B20(adapter, address, sPort)
        140:            Case "DS1822"
        150:                fail = DS1822(adapter, address, sPort)
        160:            Case "DS1820", "DS1920"
        170:                fail = DS1920(adapter, address, sPort)
        180:            Case "DS2405"
        190:                fail = DS2405(adapter, address, sPort)
        200:            Case "DS2406"
                            'Switch or AAG Barometer
        560:                    fail = DS2406(adapter, address, sPort, 0)
        570:                    fail = DS2406(adapter, address, sPort, 1) Or fail
        201:            Case "DS2413"
                            'Switch or Relay
        561:                fail = DS2413(adapter, address, sPort, 0)
        571:                fail = DS2413(adapter, address, sPort, 1) Or fail
        590:            Case "DS2408"
                            'Switch / Text
        600:                fail = DS2408(adapter, address, sPort)
        610:            Case "DS2409"
                            'Hub Switch
        620:                fail = DS2409(adapter, address, sPort)
        630:            Case "DS2890"
        640:                fail = DS2890(adapter, address, sPort)
        650:            Case "DS2438"
                            'A/D (Humidity / Baro)
        660:                fail = DS2438(adapter, address, sPort)
        670:            Case "DS2760"
                            'Moisture / Temp
        680:                fail = DS2760(adapter, address, sPort)
        690:            Case "DS2450"
                            'A/D (Wind Direction)
        700:                fail = DS2450(adapter, address, sPort)


        • #5
          Thanks Michael - I really appreciate you taking the time to look into this.


          • #6
            Version has been uploaded with support for the Hobby Board 4 channel hub.


            • #7
              Originally posted by Michael McSharry View Post
              Version has been uploaded with support for the Hobby Board 4 channel hub.
              Uploaded where?

              I've downloaded:

              And its showing as V3.0.5.0/ mcsSolutions 2009-2014


              • #8
                Turns out I had the version 2 on that link. I change it so you can try again from the same location. It is also maintained with version history at


                • #9
                  Thanks - I'll try tommorow morning (UK) - my heating uses the 1-wire and i dont want to wake up to cold house & water if i screw something up tonight.

                  Can I assume your update supports multiple hobby board hubs?


                  • #10
                    It should. I tested with two 6 channel and one 4 channel.


                    • #11
                      Wow thanks Michael - seems to work a treat.

                      I have a few questions if I may:

                      1) Do I need to ACCEPT the hub-switch
                      2) Do I need to set a polling value for the hub
                      3) Any general tips on setting polling values. I seem to recall reading somewhere that you should group things together down different branches.
                      4) I have a DS2408 relay board, which works but isn't totally reliable. If I turn several relays on in quick succession or if homeseer was a little busy some of the messages seem to get missed and the actual relay state doesn't match the virtual device state in HS. Is this a config problem or just the open-loop nature of xap? (Clicking the relay state from mcs1wire seems reliable)

                      MCSXAP and MCS1Wire on same host
                      xfshub (Edward Pearson) - couldn't get yours working.


                      • #12
                        The Hub branches used are "A"ccepted

                        The polling rate will be 0

                        The software is designed to minimize the number of times the hubs needs to be reconfigured so if sensors on a branch have the same polling rate then all can be read with a single hub configuration. If polling rates are regular multiples of each other than this will reduce the number of hub branch switches. You do not need to go overboard on optimization, but don't select a value 1000 and another with a value of 1010 when 1000 would satisfy your needs just as well. With the 6 port hub there were 3 DS2409's per hub so when it switches the routing then 3 communications are needed. With 2 hubs it would be 6 etc. With the 4 port hub the design is different and only one communication per hub is needed to select the 4 port route.

                        The xAP Message Viewer will show what is happening between HS and xapmcs1wire. The communication page of xapmcs1wire will show what is happening between the PC and the relay. Debug, when enabled from xapmcs1wire will show some internal logic paths within xapmcs1wire. With this information you should be able to assess where any reliability issues exist.

                        xAP Basic Status and Control is a closed look protocol with each xapbsc.cmd being acknowledged with an xapbsc.event message. It is an application level decision if the acknowledge will be used and what actions are taken when it is not received. When a HS user changes a device values/status, then HS will update the virtual device. This update will result in a xAPBSC.cmd message being delivered. The receiving node will return an xapbsc.event message and with the state/text being the same as what is already in HS, then no update of the virtual device will occur. Likewise if no message is returned then no HS update will occur. A third possibility is that xapbsc.event is returned, but not with same state/text/level that was commanded. A future enhancement could be an event trigger that reports no acknowledge.


                        • #13
                          With the relay board on its own channel, it now seems even slower to respond to a command now, I assume this is because the message has to wait for the hub to select the port that the ds2408 is plugged into?

                          Maybe 1-wire just isn't suited for relay boards etc that need fairly quick response (for lighting automation) ?

                          The good news is that the hub seems to have solved the crc messages i was getting before (11 devices all home run on cat6).


                          • #14
                            There are things that can be done in a system design when a specific solution is needed. For example, all A/D conversions could be done in parallel rather than on a device by device basis. The current design does not prioritize outputs over inputs, but only optimizes branch switches. If there are a number of pending inputs for a given rate group then the output will be put at some random position in the processing sequence.

                            You are correct, that a general purpose 1-wire solution is not well suited for applications that need a quick feedback.

                            I did some benchmarking in the past. I think what I found is that single devices such as switches and relays could be processed at 1/4 second per device. If the device is not on the currently selected hub branch then it was about 1 second to allow all the DS2409's to be switches for proper routing. Analog devices (Temperature sensors) run at 1 second per device. Branch switching adds to this if necessary. The 4-port hub would require less time than the 6 port one as it looks like a single quad switch rather than three dual switches.

                            1 wire has provisions for switch alerting, but all switches would need to support this capability. A single query could be sent out to see if any switch state changed. If nothing reported then no need to poll each device. Just like output loops, the input often has a need for polling rates that are not consistent with the technology.


                            • #15
                              My hot-tub sensor is reading the wrong temp and mcs1wire is keeps repeating this error:

                              01/03/2014 14:43:52 | 01/03/2014 14:43:52 | Sensor 12000003C4495528 (Hot Tub) OneWireContainer28-Error writing to scratchpad at 350

                              Is this a s/w or h/w problem (rebooted PC, Power Cycled Hub)