Announcement

Collapse
No announcement yet.

ADIO-100 "RESET PULSE" workaround & Button Fix

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ADIO-100 "RESET PULSE" workaround & Button Fix

    The ADIO-100 has been very instrumental to my application, it is low power, direct connection and VERY reliable. My application is managing critical loads and sensors in my off-grid home. There are a few design considerations the automation community needs to know about these ADIO-100's operation.

    When the Homeseer PC is restarted and reconnects to the ADIO-100 serial device(s), ALL of the outputs will fall to ZERO VOLTS for about one second, then they will return to the previous state... No big deal right?
    Lets assume you use SSR (Solid State Relays) on the output of the ADIO-100 wheras you control AC power to an area of your home. (I do this in my solar home, so it is a real example.)
    WHEN the PC restarts, the "AC power outlets" would "BLINK" off for about one second...
    This would be unacceptable!
    I want my power to be uninterrupted like the rest of the world (outside of California when it is not raining.)
    SO here is how I dealt with this challenge:
    I biased the SSR using the +5v and the output channel (As opposed to using GROUND & the output channel). This means the SSR will be "ON" whenever the ADIO OUTPUT is "OFF". Reversing the logic. Pulling the output to ground (off condition) presents a voltage across the SSR, turning it "on". So now, the AC POWER CIRCUIT will be "ON" while the ADIO-100 output channel is "OFF". Effectively I created an "INHIBIT" circuit inside homeseer (programming needs to consider the fact that it is an INHIBIT and not an ENABLE)...
    So. For things like "VENT FANS" and "LIGHTS" which are normally OFF most of their natural lifetime I would use the normal logic (ground & output channel) to bias the SSR (or relay).
    But for things that are "NATURALLY ON" during the majority of its lifetime you want to bias the SSR "reversed" (+5vdc & output channel).
    Using this method, the "VENT FAN" would turn OFF for one second during a PC reboot if it was running (does not present a problem with a fan), but the AC POWER in the kitchen STAYS ON using this wiring method during the PC reboot, unless it was "off", whereas it would turn ON for one second (this operational issue is quite acceptable).

    -NOW about INPUTS-
    Input range is 0-10v, and this is great because almost any sensor can be found in a version that has 0-5v or 0-10v output. This is because "industrial automation sensors" typically have options for this analog input range (although most use 0-20ma current loop.)
    When using "3-wire" sensors requiring "GND", "VCC", and "OUTPUT" connections, you can power most sensors with 5v, 12v (pick terminal from the ADIO-100 for either 5v or 12v), this works with motion sensors, temp, humidity, etc.
    Here's the revelation: ARDUINO sensors and devices (in analog mode) will work directly with the ADIO-100. These devices are available all over eBay and require 5v power and output 0-5v in most analog applications.

    A useful input example is an LM34 I.C. Chip, it is a 3-wire temp sensor (appears to be a regular little transistor!) But you connect +5v, Gnd, and the "output" of the chip is a voltage directly corresponding to TEMPERATURE (1.2v = 120F). These chips are very cheap and accurate, and can be made into probes easily.

    Another excellent use for an ADIO-100 input is a RAIN GAUGE. I ordered a $15 el-cheapo wireless "self emptying" rain gauge from eBay. Then gutted it down to the "reed switch" it uses to detect when it "emptied" (initiating a count). Each time it emptied it would register 0.01 inch rainfall. So my script looks for status change and just adds 0.01 to the rainfall tally. Very accurate hardwired rain gauge on the side of the radio tower. For very cheap. My programming 'logs' rain events as "ended" after a few hours of no rain gauge increments. So each rainfall event is recorded as such.

    -NOW about DELAY-
    The ADIO-100 is not going to detect an input change RELIABLY in under one minute (with 10x ADIO modules and standard polling time). One minute seems like forever if you are expecting immediate response. The issue is that the DEVICE itself "sees" the change happen immediately, but HOMESEER has to "talk to the ADIO-100" to read it, and deliver the information to a "Homeseer Device" and this can take a long time in computer world. The BAUD rate of the device is not the issue, it is just the polling time of Homeseer and the more ADIO-100's you have, the bigger delay.

    So IF YOU NEED TO "CATCH" a trigger, for example a "DOOR SENSOR" whereas someone could open a door, walk thru it, and close it again before the ADIO-100 would even see a change- such entire event would go undetected with no possible event trigger! To combat this, you can use HARDWIRED DELAY TIMERS to ensure the "door closure" remained delayed for a minute or so, giving the ADIO-100 plenty of time to be polled during the observed condition. Now this would work for some instances, but if you expect that "door activity" to trigger the lighting event in the kitchen when you walk thru that door, the lighting could be delayed by up to a minute... It becomes less acceptable in this scenario. In fact, it could be up to two minutes if the ADIO-100 OUTPUT channel was driving the light! (additional time is required to update the OUTPUTS of the ADIO-100 in the same polling manner as used for inputs. The output poll, and input poll are separate.

    -NOW about the PLUGIN- (on HS3 I understand the plugin is much buggier!)
    I noticed that when Homeseer is not shut down properly, the ADIO-100 plugin stands a very rare but real risk of "corrupting" the output control (web) BUTTONS shown on the Homeseer web interface. Sometimes it adds a THIRD button (supposed to just have ON and OFF for each output) or sometimes it "looses" one of them on any given device. When this corruption happens it remains permanent! It may only occur whenever you have multiple ADIO devices. I had to develop a script to correct this issue so I would have 100% reliability, or I just start breaking stuff in the lab. Now I have attached this button fixing script- you need to adjust the "DEVICE ID" & "LABELS" on each "button". I run this script automatically after Homeseer is operational for exactly 10minutes (giving it time to connect to ADIO-100's and stabilize). Since it's implementation, no additional strange button craziness has been observed...
    BE VERY CAREFUL WITH THIS SCRIPT! It is HARMLESS as uploaded (being deactivated internally-see script)- but if used improperly you can be left without ANY buttons! You need to understand the DEVICE ID is required to ADD buttons. Removing them is easy (requiring less data) than adding them!
    MAKE A BACKUP BEFORE PLAYING WITH THIS ONE! If you employ it properly you will never have erratic ADIO-100 control buttons again. If you do it wrong -with no backup, you may never have ADIO-100 control buttons again... Don't send me hate mail because you did not make a backup!!!


    LAST THREE ADIO-100 NOTES:
    1.)The ADIO-100 modules have terminal connectors on the in and out sides, these connectors DO simply PULL OUT, making replacement/removal of the ADIO-100 hardware device very easy. I have found people (seasoned technicians!) that did not realize these type of row connectors just pull out. It saves you having to unscrew each terminal.
    2.)The back cover can be removed to find DIP switch inside, where you set the baud rate. See documentation for the baud chart, but when shipped these modules arrive with seemingly random settings!
    3.)The circuit design internal to the ADIO-100 is quite robust, and POWER supply inputs are somewhat forgiving. I did not test this observation; but if you were to apply reverse polarity, AC, or over voltage, the only parts subject to being destroyed are a diode, a capacitor, and possibly the 7805 regulator IC. The PIC controller is fairly well protected from power issues, but it is DIRECTLY fed whatever is input so you need to be cautious about input anomalies. INPUTS are not subjected to being destroyed if you power your sensors from the ADIO-100 supply... Understanding basic electronics is suggested...

    Oh, and the voltage measuring inputs are accurate, and with a higher impedance than I expected- allowing inputs to be driven from un-repeated signals.

    Hope this is helpful.
    Attached Files
    Last edited by Switchdoctor; February 20th, 2017, 11:53 PM.
Working...
X