Archive

Posts Tagged ‘Indigo’

Smarthome Insteon Thermostat Adapter Upgraded To Version 2.0

January 26th, 2010 Greg Smith No comments

Smarthome, Inc.

E5F853D5-9DA3-4564-ACD1-0423A0BCD040.jpgSmarthome has upgraded the Insteon Thermostat to version 2.0. The thermostat adapter requires the use of a Totaline / Venstar thermostat, it plugs into the bottom and communicates with the Insteon network with a INSTEON Access Point (& Wireless Phase Coupler) using a RF protocol.

The new features include:

  • Reports changes in temp, temp setpoints, mode, and fan mode
  • Controller functionality on heat call, cool call, and fan call (auto & manual ON)
  • Supports +1, -1 degree on incremental bright/dim commands
  • Off Button functionality – If you want a link to respond to an Off command instead of an On command, send an Off command from the INSTEON controller within 30 seconds of linking and before any other INSTEON commands are sent.

This previous version of adapter had to be asked what the current temperature is, the 2.0 adapter will now broadcast those changes. The 2.0 adapter will also indicate when a heat call has been made which makes it easy to calculate how long the current filter has been in use. I’m happy to see Smarthome making improvements in these products and they even provided an upgrade path for those with older versions.

My home automation software, Indigo, does not support these new features yet. The developers have promised to add them to a future version.

Smarthome Black Friday Sale

November 25th, 2009 Greg Smith No comments

Smarthome, Inc.

Smarthome is having a black friday saleicon. Typically they have a percentage off sale before the end of the year, I don’t know if this will replace it or not.

Smarthome has a number of Insteon productsicon for sale and using the checkout code EKITS will get you free shipping.

I am interested in the 2412U Insteon PowerLinc USB Modemicon to replace my 2412U. Is supposed to work faster with Indigo (19.8k baud rate on the 2414 vs. 4.8k on the 2412).

The sale ends 30 November 2009.

XTension Now Supports UPB On The Mac

June 1st, 2009 Greg Smith No comments

Universal Powerline Bus (UPB) is now available on the Mac through a private beta of XTension. This is great news as there has not been a UPB option on the Mac before. For Macintosh home automation software, UPB gives XTension a competitive advantage over Indigo and Shion who support X10 and Insteon, Thinking Home supports X10 and Wayne-Dalton’s still vaporware Z-Wave software.

UPB support is still in the early stages, visit the XTension Wiki for more information.

Thanks to Gorden Meyer.

Weeder Board Integration With Indigo Using Applescript And Serial Bridge

May 6th, 2009 Greg Smith No comments

Weeder Technologies makes nice I/O board that can be used for a variety of purposes. I have a WTDIO-M that I’ve been experimenting with for use with my home automation system. To interface with Indigo I use Serial Bridge and it output data to variables in Indigo. I had a poorly written script and never bother to make it production worthy.

A user on the Perceptive Automation message boards shared a nice generic script that interfaces with the analog and digital boards and outputs the data to Indigo variables.

This scripts requires a trigger action to run at a set time (1 hour) to poll the analog board using the following code.

tell application "Serial Bridge"
     request reading from WT Analog I/O
    
send to source "wtdio" string "BS" & return
    
end tell

For the digital board, the a Auto Zeroize function needs to be performed one a day with this code in a trigger action.

tell application "Serial Bridge"
     AutoZeroize WT Analog I/O
    
send to source "wtdio" string "BZ" & return
    
end tell

Below is the script that is used with Serial Bridge.

on MyProcessSerialData(connectionName)
    tell application "Serial Bridge"
        wait for data from source connectionName to count 1
        
set whichWeeder to read string from source connectionName to count 1
        
if whichWeeder = "A" then digital I/O
            
            
capture the remaingin two character word from the Weeder Module
            
set WeederResponse to read string from source connectionName to count 2
            
            
Log it in its untraslated state
            
log "The Weeder says… " & "A" & WeederResponse using type "Sample"
            
set restOfString to read string from source connectionName
            
            
Identify the which contact the Weeder is reporting on.
            
set ContactName to "Contact_" & first character of WeederResponse as text
            
            
Convert the Contact state to state of the Contact
            
set ContactState to second character of WeederResponse
            
if ContactState = "L" then
                set ContactState to "CLOSED" as text
            else if ContactState = "H" then
                set ContactState to "OPEN" as text
            end if
            
Log the the tranaslated state.
            
log "That translates to… " & ContactName & " is " & ContactState & "."
            
Get a timestamp from the OS.
            
set time_stamp to do shell script "date +%Y-%m-%d\ %H:%M:%S"
            
            
tell application "IndigoServer"
                log ContactName & " is " & ContactState & "."
                
                
Create if neccessary a state varable name after the Contact, then set the state.
                
if not (variable ContactName exists) then
                    make new variable with properties {name:ContactName, value:ContactState}
                else
                    set value of variable ContactName to ContactState
                end if
                
                
Create a dynamic variable name (just because we are going to call on it several times)
                
set ContactTimestamp to ContactName & "_LastEvent_TimeStamp"
                
                
Create if neccessary a timestamp varable name after the Contact number, then set the timestamp.
                
if not (variable ContactTimestamp exists) then
                    make new variable with properties {name:ContactTimestamp, value:time_stamp}
                else
                    set value of variable ContactTimestamp to time_stamp
                end if
            end tell
            
        else if whichWeeder = "B" then analog I/O
            
            
delay 0.2
            
set wtaio to read string from source connectionName
            
log "Analog I/O: " & wtaio
            
set measurement1 to word 1 of wtaio as integer
            
log "Word 1: " & measurement1
            
            
tell application "IndigoServer"
                set AutoZero to word 1 of wtaio
                
if AutoZero = "Z" then
                    log "AutoZeroize WT Analog I/O"
                else
                    set value of variable "wtaio1" to word 1 of wtaio
                    
set value of variable "wtaio2" to word 2 of wtaio
                    
set value of variable "wtaio3" to word 3 of wtaio
                    
set value of variable "wtaio4" to word 4 of wtaio
                    
set value of variable "wtaio5" to word 5 of wtaio
                    
set value of variable "wtaio6" to word 6 of wtaio
                    
set value of variable "wtaio7" to word 7 of wtaio
                    
set value of variable "wtaio8" to word 8 of wtaio
                    
log "Reading WT Analog I/O"
                    
                    
adjust scaling for integer degrees with a single decimal place
                    
set t1 to (get value of variable "wtaio8" as string)
                    
set t1Last to last character of t1
                    
set t1Len to length of t1
                    
set t1 to characters 1 thru (t1Len - 1) of t1 as string
                    
set value of variable "TempBasement" to t1 & "." & t1Last
                    
set value of variable "TempBasement" to t1
                    
set t1 to (get value of variable "wtaio1" as string)
                    
set t1Last to last character of t1
                    
set t1Len to length of t1
                    
set t1 to characters 1 thru (t1Len - 1) of t1 as string
                    
set value of variable "TempOutside" to t1 & "." & t1Last
                end if
            end tell
        end if
    end tell
end MyProcessSerialData

—————————————————————————
on startCommunication(connectionName)
    tell application "Serial Bridge"
         initialize Serial Bridge; 5 contacts into Switch Mode
        
        
send to source connectionName string "ASI" & return
        
delay 0.2
        
send to source connectionName string "ASJ" & return
        
delay 0.2
        
send to source connectionName string "ASK" & return
        
delay 0.2
        
send to source connectionName string "ASL" & return
        
delay 0.2
        
send to source connectionName string "ASM" & return
        
delay 0.2
        
        
make other ios into outputs to prevent false triggering
        
send to source connectionName string "AHA" & return
        
delay 0.2
        
send to source connectionName string "AHB" & return
        
delay 0.2
        
send to source connectionName string "AHC" & return
        
delay 0.2
        
send to source connectionName string "AHD" & return
        
delay 0.2
        
send to source connectionName string "AHE" & return
        
delay 0.2
        
send to source connectionName string "AHF" & return
        
delay 0.2
        
send to source connectionName string "AHG" & return
        
delay 0.2
        
send to source connectionName string "AHH" & return
        
delay 0.2
        
send to source connectionName string "AHN" & return
        
        
log "INITIALIZED" using type "Error"
        
        
repeat while true
            try
                set maxTimeoutDelay to 8947848 103.56 days (hex 0×00888888)
                
with timeout of maxTimeoutDelay seconds
                    my MyProcessSerialData(connectionName)
                end timeout
            on error number errNum
                
                
if errNum is -1712 then
                    log "timeout waiting for serial data" using type "Error"
                else if errNum is -1708 then
                    log "AppleEvent not handled" using type "Error"
                    
return fatal error; exit script processing
                else if errNum is -128 then
                    log "connection script aborted" using type "Error"
                    
return fatal error; exit script processing
                else
                    log "error " & errNum & " inside MyProcessSerialData()" using type "Error"
                    
return maybe fatal error; exit script processing
                end if
                
            end try
        end repeat
    end tell
end startCommunication

I have not yet implemented this applescript. If you want to know more, check out the thread on the Perceptive Automation message boards.

iPhone App Of The Week: iHome Remote

April 25th, 2009 Greg Smith No comments

iHome Remote brings an 3rd party Indigo interface to your phone as a stand alone application. That’s interesting because there is a iPhone application available from developer of Indigo, Perceptive Automation, for freeicon.

Why purchase iHome Remote? The official free app only works with 4.0, if you don’t want to pay the upgrade fee from 3.0 to 4.0, iHome Remote will work with 3.0. iHome Remote doesn’t have access to action groups but it does have access to Scenes which the official app does not. iHome Remote is $8.99 from the iTunes App Storeicon.

1038A750-9DC8-4E29-BF3B-06EA456A069B.jpgHave you ever wondered if you left the lights on at home? Do you want to have everything just so before arriving home?

Used in conjunction with Indigo on your Mac, iHome will allow you to control your home lighting (Insteon and X10) using your iPhone or iPod Touch from anywhere.

** This app requires the Indigo Control Server from Perceptive Automation to be running on your Mac to work and is compatible with either version 3 or the soon to be released version 4 of Indigo.

FEATURES:
- View the status of your home lights and appliances
- Control lights and their dim level
- Turn appliances on and off
- Execute Scenes/Action Groups
- Access your home from anywhere
- Insteon and X10 control

Both Insteon and X10 allow you to add automation to your home without any rewiring required.

Insteon is a new standard in home control, which features true bidirectional communication to ensure that your iPhone knows the status of what you are controlling.

With iHome and Indigo, you can have full remote control of your home!

Indigo 4.0 and Indigo Touch Beta

January 3rd, 2009 Greg Smith No comments

Indigo 4ScreenSnapz001.jpgThe Mac home automation software Indigo that I use was updated to version 4.0 Beta. A list of changes are available on the Perceptive Automation message board but the big changes are: Pro and lite version, folder support and iPhone application.

I’ve been using the beta of the Mac and iPhone apps since they came out. They are still rough around the edges (that’s why they are called betas) but are still very functional.

Indigo itself hasn’t changed much except the addition of folders in the UI. The big change is support for IndigoTouch, which runs on the iPhone and the iPod Touch. IndigoTouch has basic functionality; you can control devices but not set them up, you can control existing actions, you can view but not edit variables and you can interact with control pages.

I’d like to see the ability to create devices on the phone which makes it easier to install new devices. I’d also like to see the log and the time date action in real time.

I did have some trouble getting it set up. It will connect, via bonjour, to the server when on the same network which works flawlessly for me. Getting the ports configure through my firewall so I could connect outside the network was a bit of a pain. It’s working now without much problems and using the prism service would eliminate the need for this.

Below are pictures of the interface on flickr or you can visit the set.

IndigoTouch SettingIndigoTouch DevicesIndigoTouch ActionsIndigoTouch VariablesIndigoTouch Control Pages

Arduino Board And Applescript For Home Automation

June 3rd, 2007 Greg Smith 1 comment

I just ordered a Arduino USB Board from Spark Electronics. I plan to use it with tinker.it’s Applescript Proxy program to use with Indigo and my home automation system. I have a Weeder board, but I’ve been too lazy/busy to figure out how to program it properly. This looks to be much easier. Plus it’s open source.

Indigo Updated To 2.0.5

April 26th, 2007 Greg Smith Comments off

Indigo (Macintosh home automation software) has been updated and is available on MacUpdate. Here’s what’s new:

  • Added support for INSTEON SocketLinc module.
  • Added support for all EZIOxx Input/Output modules: EZIO8T, EZIO8SA, EZIO2X4.
  • Added new Trigger Action options for EZIOxx and EZRain modules.
  • Added Control Page elements for Device sub-states (ex: show sprinkler zone 3 on/off state).
  • Added support to get all object AppleScript properties at once (ex: “get properties of devices”).
  • Added Karl Smith’s background Weather NOAA sync script to periodically retrieve weather conditions.
  • Removed script filename extensions from the Scripts menu.
  • Fixed UI display problem caused by blank Variable names.
  • Fixed PowerLinc 1132CU upload error caused by uninitialized Trigger Actions.

Twittering Your Home

March 17th, 2007 Greg Smith Comments off

Gordon Meyer has a post entiteld Twittering Your Home, showing how to use a applescript to add events to your Twitter account. I haven’t found a reason to use Twitter, but this may be enough for me to check it out.

Here’s the script, which borrows some code from Tilman for using curl to send a Twitter status message:

set theMessage to description of me
set TwitterID to “yourID”
set TwitterPassword to “yourPassword”
set TwitterLogin to TwitterID & “:” & TwitterPassword
set TwitterStatus to quoted form of (“status=” & theMessage)
set results to do shell script “curl –user ” & TwitterLogin & ” –data-binary ” & TwitterStatus & ” http://twitter.com/statuses/update.json”

You’ll need to enter the login and password for your home’s Twitter account, as noted in the script. Shortly after running this script, the message is delivered via Twitter, as illustrated earlier. It’s a simple as that.

If you use Indigo, another Mac-based home automation application, the above script will work just a few modifications. Instead of passing the message text using the Description field, use an Indigo global variable.

Home Automation Equipment Failures

November 4th, 2006 Greg Smith 1 comment

Once you get your Home Automation system up and working the way you want, you start to become dependant on many of it’s features. In my living room, I don’t have a wall switch to turn on the lights. I have a wireless palm pad, but I rarely use that because the motion detectors (also wireless) usually turn those lights on for me.

Last week I came home from work and none of the lights came on. After a few hours of troubleshooting I find I’m getting errors in Indigo, “undefined byte from w800rf interface.” The” w800rf interface” is the W800RF32A, a wireless receiver that connects to the computer via serial port, or in my case a Keyspan USB to Serial Adapter and it receives wireless X10 signals.

Is the W800RF32A bad? Is it a issue with the serial adapter? Is it a driver issue? I used a terminal program and can see that I’m getting data from the W800RF32A, I just don’t know if it’s the correct data. I don’t want to spend $70 on a new W800RF32A only to find out it’s some other component. For now I’ve got a plugin device that will send wireless X10 commands to the powerline, but it only works on one house code and doesn’t work with security devices.

That’s not the only problem with my system. I moved a lot of my switches to Insteon several month ago, but I still have several X10 devices in the house. For some reason I was not able to change or get their status via the computer. This happens with X10 sometimes but the signal issues go away after a while (one of the reasons I’m getting away from X10). After a month it became clear that there was something else going on. Thanks to a hint from the Indigo message boards, I determined that the X10 part of the PowerLinc V2 interface’s had died. Smarthome sent me a replacement this week and sure enough X10 is functional again.

The Home Automation system works good, when it works. Right now it’s not working like I want and it’s annoying.