From: Daniel D. <da...@ma...> - 2010-09-29 13:35:09
|
Hello, I bought an HAI Omnistat 112B. I am trying to debug why MH cannot talk to it. Do I need to specifically set my serial port to 300 baud? Is there a command line utility I can use to verify Linux connectivity to the omnistat? config: debug=omnistat Omnistat_serial_port=/dev/ttyS0 Omnistat_24hr=1 Omnistat_stat_log=9 # Setting new temperature and settings only works until the next # programmed change unset this for changes to set the stat to 'hold' # mode where it'll keep your setting forever Omnistat_set_does_not_hold=1 setserial -a /dev/ttyS0 /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test Errors: 09/29/10 09:17:00 : Omnistat[1]->read_cached_reg: reg=0x3b not cached, fetching 09/29/10 09:17:00 : Omnistat[1]->send_cmd string=0x01 0x20 0x3b 0x0e 0x6a (with 833325,us reply delay (14 char(s) to read back)) Error in user code: 09/29/10 09:17:00 : Omnistat[1]->send_cmd did not get ack reply to command 01 20 3b 0e 6a () at ../lib/Omnistat.pm line 543 Thanks, Dan |
From: Marc M. <ma...@me...> - 2010-09-29 14:26:29
|
On Wed, Sep 29, 2010 at 09:19:58AM -0400, Daniel Durgin wrote: > Hello, > > I bought an HAI Omnistat 112B. I am trying to debug why MH cannot talk > to it. Do I need to specifically set my serial port to 300 baud? No, I didn't have to do that. > Is there a command line utility I can use to verify Linux connectivity > to the omnistat? If I recall correctly, minicom, which you then would have to set to 300bauds, and no flow control, should see data from the thermostat. Did you confirure your thermstat so that setting '01' (communication mode) is set to '0' (300 baud RS-232 mode). If so, and if minicom is not seeing anything, it's probably your cable that has a problem. As a heads up I found that a USB to serial adapter plugged into an unpowered hub was not able to talk to my thermostat. > setserial -a /dev/ttyS0 > /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 > Baud_base: 115200, close_delay: 50, divisor: 0 > closing_wait: 3000 > Flags: spd_normal skip_test Omnistat.pm does this for you: sub serial_startup { &main::serial_port_create( 'Omnistat', $main::config_parms{Omnistat_serial_port}, 300, 'none', 'raw' ); &::MainLoop_pre_add_hook( \&Omnistat::check_for_data, 1 ); } > Errors: > 09/29/10 09:17:00 : Omnistat[1]->read_cached_reg: reg=0x3b not cached, > fetching Is your thermostat configured to talk on address 1? Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ |
From: Daniel D. <da...@ma...> - 2010-09-29 15:42:29
|
Hi Marc, Thank you for the info. I guess I should double check my wiring. On 09/29/2010 10:26 AM, Marc MERLIN wrote: > On Wed, Sep 29, 2010 at 09:19:58AM -0400, Daniel Durgin wrote: >> Hello, >> >> I bought an HAI Omnistat 112B. I am trying to debug why MH cannot talk >> to it. Do I need to specifically set my serial port to 300 baud? > No, I didn't have to do that. > >> Is there a command line utility I can use to verify Linux connectivity >> to the omnistat? > If I recall correctly, minicom, which you then would have to set to > 300bauds, and no flow control, should see data from the thermostat. > > Did you confirure your thermstat so that setting '01' (communication mode) > is set to '0' (300 baud RS-232 mode). > Yes. The manual said this was the correct speed for PC Communications. > If so, and if minicom is not seeing anything, it's probably your cable that > has a problem. As a heads up I found that a USB to serial adapter plugged > into an unpowered hub was not able to talk to my thermostat. > >> setserial -a /dev/ttyS0 >> /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 >> Baud_base: 115200, close_delay: 50, divisor: 0 >> closing_wait: 3000 >> Flags: spd_normal skip_test > > Omnistat.pm does this for you: > sub serial_startup { > &main::serial_port_create( 'Omnistat', $main::config_parms{Omnistat_serial_port}, 300, 'none', 'raw' ); > &::MainLoop_pre_add_hook( \&Omnistat::check_for_data, 1 ); > } > >> Errors: >> 09/29/10 09:17:00 : Omnistat[1]->read_cached_reg: reg=0x3b not cached, >> fetching > Is your thermostat configured to talk on address 1? > Yes. Should I 'reboot' the thermostat for it to take effect? > Marc I suppose its possible I didn't wire it correctly. The thermostat is wire in the following fashion: Omnistat -> 4 wires of a cat5 cable -> rj-45 jack -> serial cable with din-9 and rj-45 ends |
From: Marc M. <ma...@me...> - 2010-09-29 15:54:04
|
On Wed, Sep 29, 2010 at 11:42:19AM -0400, Daniel Durgin wrote: > >Is your thermostat configured to talk on address 1? > > > Yes. Should I 'reboot' the thermostat for it to take effect? I don't think so. > I suppose its possible I didn't wire it correctly. The thermostat is > wire in the following fashion: > Omnistat -> 4 wires of a cat5 cable -> rj-45 jack -> serial cable with > din-9 and rj-45 ends That doesn't say which wire got connected to what :) See http://misterhouse.wikispaces.com/file/detail/ThermostatCommCables.pdf if you haven't yet, and double check those end to end connections. Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ |
From: Daniel D. <da...@ma...> - 2010-09-30 01:49:06
|
Hi Mark, I did use this diagram http://misterhouse.wikispaces.com/file/view/ThermostatCommCables.pdf. But now I realize my Din 9 rs-232 to rj-45 is actually a null modem cable. Does anyone know the what wires are crossed from the above mentioned CommCable Diagram? My guess is that 2 or 4 of my wires need to be reversed. Thanks, Dan On 09/29/2010 11:53 AM, Marc MERLIN wrote: > On Wed, Sep 29, 2010 at 11:42:19AM -0400, Daniel Durgin wrote: >>> Is your thermostat configured to talk on address 1? >>> >> Yes. Should I 'reboot' the thermostat for it to take effect? > I don't think so. > >> I suppose its possible I didn't wire it correctly. The thermostat is >> wire in the following fashion: >> Omnistat -> 4 wires of a cat5 cable -> rj-45 jack -> serial cable with >> din-9 and rj-45 ends > That doesn't say which wire got connected to what :) > > See > http://misterhouse.wikispaces.com/file/detail/ThermostatCommCables.pdf > if you haven't yet, and double check those end to end connections. > > Marc |
From: Marc M. <ma...@me...> - 2010-09-30 01:55:34
|
On Wed, Sep 29, 2010 at 09:48:57PM -0400, Daniel Durgin wrote: > Hi Mark, > > I did use this diagram > http://misterhouse.wikispaces.com/file/view/ThermostatCommCables.pdf. > But now I realize my Din 9 rs-232 to rj-45 is actually a null modem > cable. Does anyone know the what wires are crossed from the above > mentioned CommCable Diagram? My guess is that 2 or 4 of my wires need > to be reversed. There is no such thing as a 'Din 9 rs-232 to rj-45'. There is no standard wiring for them. You need to buy your own and wire the pins as needed for each use. Or you could try to reverse engineer yours and connect the omnistart wires to the right colors, but that's a bit of trial and error (an ohm/continuity meter to see how your adapter is wired as opposed to guessing is a must in that case). Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ |
From: Daniel D. <da...@ma...> - 2010-09-30 02:08:47
|
Your right, its a Cisco Null Modem serial cable. Sorry for the confusion. I guess I should get a Crimp D-Sub Connector and call it good. Thanks for the help. On 09/29/2010 09:55 PM, Marc MERLIN wrote: > On Wed, Sep 29, 2010 at 09:48:57PM -0400, Daniel Durgin wrote: >> Hi Mark, >> >> I did use this diagram >> http://misterhouse.wikispaces.com/file/view/ThermostatCommCables.pdf. >> But now I realize my Din 9 rs-232 to rj-45 is actually a null modem >> cable. Does anyone know the what wires are crossed from the above >> mentioned CommCable Diagram? My guess is that 2 or 4 of my wires need >> to be reversed. > There is no such thing as a 'Din 9 rs-232 to rj-45'. There is no standard > wiring for them. > You need to buy your own and wire the pins as needed for each use. > > Or you could try to reverse engineer yours and connect the omnistart wires > to the right colors, but that's a bit of trial and error (an ohm/continuity > meter to see how your adapter is wired as opposed to guessing is a must in > that case). > > Marc |
From: Jim S. <js...@sy...> - 2010-09-30 02:38:21
|
Daniel, Your problem might actually be that the RC Thermostat "robs" the voltage source from incoming signals to power the serial signal back to the computer - so you need to get two things right for it to work - the wiring AND the states of some of the signaling pins so that there is power there (e.g. DTR must be set high at all times by the host, and the host must not transmit while a thermostat is transmitting.). Jim Here is some information from the protocol manual for the RC series thermostats Copyright C 1998 Home Automation, Inc. All Rights Reserved ELECTRICAL CONNECTIONS RS-232 mode Intended for connection to personal computers or other systems with RS-232 ports. 4 wires to the thermostat: DTR, RXD, TXD and Ground. All wires are optically isolated in the thermostat. The thermostat transmits with a modified RS-232 transmitter that can be tri-state (high impedance) so that more than one thermostat can be connected in parallel to a single RS-232 port. In RS-232 mode, the transmitted RS-232 voltage levels are generated by using DTR as a source for +12 volts when transmitting a space (0 bit) and the received RS-232 signal as a source for -12 volts when transmitting a mark (1 bit). Therefore, DTR must be set high at all times by the host, and the host must not transmit while a thermostat is transmitting. ELECTRICAL SPECIFICATIONS RS-232 mode: Thermostat receiver - The thermostat will draw the following current at the following voltage: RS-232 receive space (bit 0): 2.0 mA at 12V RS-232 receive mark (bit 1) transmitter idle: 0.0 mA at -12V transmitter active: -4 ma max at -12 V Thermostat transmitter - The thermostat will provide the following current and voltage. Note that +12 is drawn from DTR, -12 V is drawn from the thermostat receive line (TXD) while it is idle. tri state (off): open collector, 0 mA RS-232 transmit space (bit 0): 10V at 4 mA RS-232 transmit mark (bit 1): -10V at -4 mA Note: these levels are compatible with RS-232. DIRECT CONNECT CABLES Serial ports on most computers have two connector types: DB-9M and DB-25M. To make a cable to connect one or more thermostats to this port, you will need: 1. One DB-9F or DB-25F connector, depending whether your computer has a DB-9M or DB-25M connector for its serial port. (F stands for female, M stands for male.) 2. Four (4) conductor wire. Use 22 to 24 gauge shielded or unshielded, stranded or solid, twisted or untwisted, the wire type is not critical. Use shielded if your environment calls for running the communications wire along with power wires, and connect the shield to a good ground at the computer. Do not connect the shield at the thermostat.) 3. One or more HAI communications plugs. Each HAI thermostat is supplied with one HAI communications plug. You need one for each thermostat. Make the connections as follows: If using a DB-9F connector: 1. On the DB-9F connector: Connect pins 7 and 8 together. (RTS and CTS) 2. On the DB-9F connector: Connect pins 1, 6 and 4 together. (DCD, DTR and DSR) 3. Connect pin 4 of the DB-9F to the YELLOW wire on the thermostat plug (DTR) 4. Connect pin 3 of the DB-9F to the GREEN wire on the thermostat plug (TXD) 5. Connect pin 2 of the DB-9F to the RED wire on the thermostat plug (RXD) 6. Connect pin 5 of the DB-9F to the BLACK wire on the thermostat plug. (GND) -----Original Message----- From: Daniel Durgin [mailto:da...@ma...] Sent: September 29, 2010 10:09 PM To: Marc MERLIN Cc: The main list for the MisterHouse home automation program Subject: Re: [mh] Omnistat Setup Your right, its a Cisco Null Modem serial cable. Sorry for the confusion. I guess I should get a Crimp D-Sub Connector and call it good. Thanks for the help. On 09/29/2010 09:55 PM, Marc MERLIN wrote: > On Wed, Sep 29, 2010 at 09:48:57PM -0400, Daniel Durgin wrote: >> Hi Mark, >> >> I did use this diagram >> http://misterhouse.wikispaces.com/file/view/ThermostatCommCables.pdf. >> But now I realize my Din 9 rs-232 to rj-45 is actually a null modem >> cable. Does anyone know the what wires are crossed from the above >> mentioned CommCable Diagram? My guess is that 2 or 4 of my wires need >> to be reversed. > There is no such thing as a 'Din 9 rs-232 to rj-45'. There is no standard > wiring for them. > You need to buy your own and wire the pins as needed for each use. > > Or you could try to reverse engineer yours and connect the omnistart wires > to the right colors, but that's a bit of trial and error (an ohm/continuity > meter to see how your adapter is wired as opposed to guessing is a must in > that case). > > Marc ---------------------------------------------------------------------------- -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ________________________________________________________ To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 |
From: Daniel D. <da...@ma...> - 2010-09-30 03:05:32
|
Very cool. Thanks for the help. On Sep 29, 2010, at 22:38, Jim Serack <js...@sy...> wrote: > Daniel, > > Your problem might actually be that the RC Thermostat "robs" the voltage > source from incoming signals to power the serial signal back to the computer > - so you need to get two things right for it to work - the wiring AND the > states of some of the signaling pins so that there is power there (e.g. DTR > must be set high at all times by the host, and the host must not transmit > while a thermostat is transmitting.). > > Jim > > Here is some information from the protocol manual for the RC series > thermostats Copyright C 1998 Home Automation, Inc. All Rights Reserved > > ELECTRICAL CONNECTIONS > RS-232 mode > Intended for connection to personal computers or other systems with RS-232 > ports. 4 wires to the > thermostat: DTR, RXD, TXD and Ground. All wires are optically isolated in > the thermostat. The > thermostat transmits with a modified RS-232 transmitter that can be > tri-state (high impedance) so that more > than one thermostat can be connected in parallel to a single RS-232 port. > In RS-232 mode, the transmitted RS-232 voltage levels are generated by using > DTR as a source for +12 > volts when transmitting a space (0 bit) and the received RS-232 signal as a > source for -12 volts when > transmitting a mark (1 bit). Therefore, DTR must be set high at all times by > the host, and the host must not > transmit while a thermostat is transmitting. > > ELECTRICAL SPECIFICATIONS > RS-232 mode: > Thermostat receiver - The thermostat will draw the following current at the > following voltage: > RS-232 receive space (bit 0): 2.0 mA at 12V > RS-232 receive mark (bit 1) > transmitter idle: 0.0 mA at -12V > transmitter active: -4 ma max at -12 V > Thermostat transmitter - The thermostat will provide the following current > and voltage. Note that +12 is > drawn from DTR, -12 V is drawn from the thermostat receive line (TXD) while > it is idle. > tri state (off): open collector, 0 mA > RS-232 transmit space (bit 0): 10V at 4 mA > RS-232 transmit mark (bit 1): -10V at -4 mA > Note: these levels are compatible with RS-232. > > DIRECT CONNECT CABLES > Serial ports on most computers have two connector types: DB-9M and DB-25M. > To make a cable to connect one or > more thermostats to this port, you will need: > 1. One DB-9F or DB-25F connector, depending whether your computer has a > DB-9M or DB-25M connector for > its serial port. (F stands for female, M stands for male.) > 2. Four (4) conductor wire. Use 22 to 24 gauge shielded or unshielded, > stranded or solid, twisted or untwisted, the > wire type is not critical. Use shielded if your environment calls for > running the communications wire along with > power wires, and connect the shield to a good ground at the computer. Do not > connect the shield at the thermostat.) > 3. One or more HAI communications plugs. Each HAI thermostat is supplied > with one HAI communications plug. > You need one for each thermostat. > Make the connections as follows: > If using a DB-9F connector: > 1. On the DB-9F connector: Connect pins 7 and 8 together. (RTS and CTS) > 2. On the DB-9F connector: Connect pins 1, 6 and 4 together. (DCD, DTR and > DSR) > 3. Connect pin 4 of the DB-9F to the YELLOW wire on the thermostat plug > (DTR) > 4. Connect pin 3 of the DB-9F to the GREEN wire on the thermostat plug (TXD) > 5. Connect pin 2 of the DB-9F to the RED wire on the thermostat plug (RXD) > 6. Connect pin 5 of the DB-9F to the BLACK wire on the thermostat plug. > (GND) > > -----Original Message----- > From: Daniel Durgin [mailto:da...@ma...] > Sent: September 29, 2010 10:09 PM > To: Marc MERLIN > Cc: The main list for the MisterHouse home automation program > Subject: Re: [mh] Omnistat Setup > > Your right, its a Cisco Null Modem serial cable. Sorry for the > confusion. I guess I should get a Crimp D-Sub Connector and call it good. > > Thanks for the help. > > > > On 09/29/2010 09:55 PM, Marc MERLIN wrote: >> On Wed, Sep 29, 2010 at 09:48:57PM -0400, Daniel Durgin wrote: >>> Hi Mark, >>> >>> I did use this diagram >>> http://misterhouse.wikispaces.com/file/view/ThermostatCommCables.pdf. >>> But now I realize my Din 9 rs-232 to rj-45 is actually a null modem >>> cable. Does anyone know the what wires are crossed from the above >>> mentioned CommCable Diagram? My guess is that 2 or 4 of my wires need >>> to be reversed. >> There is no such thing as a 'Din 9 rs-232 to rj-45'. There is no standard >> wiring for them. >> You need to buy your own and wire the pins as needed for each use. >> >> Or you could try to reverse engineer yours and connect the omnistart wires >> to the right colors, but that's a bit of trial and error (an > ohm/continuity >> meter to see how your adapter is wired as opposed to guessing is a must in >> that case). >> >> Marc > > ---------------------------------------------------------------------------- > -- > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > ________________________________________________________ > To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 > > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > ________________________________________________________ > To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 > |
From: Marc M. <ma...@me...> - 2010-09-30 03:24:30
|
On Wed, Sep 29, 2010 at 10:38:12PM -0400, Jim Serack wrote: > Daniel, > > Your problem might actually be that the RC Thermostat "robs" the voltage > source from incoming signals to power the serial signal back to the computer That depends how you wired it. Mine gets proper 24VAC from my furnace on a separate wire (5 wires to furnace instead of 4). Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ |
From: Daniel D. <da...@ma...> - 2010-09-30 03:37:10
|
I ran a 24 vac line to power my omnistat. My problem is ( I hope) that even though I followed the wiring diagram my serial cable is a null modem not a straight through. I am heading to radioshack to pick up a db9f connector. Surprisingly, they still carry it in their stores. They usually try to sell me a tv, mp3 player or phone when I go for something "old school." On Sep 29, 2010, at 23:24, Marc MERLIN <ma...@me...> wrote: > On Wed, Sep 29, 2010 at 10:38:12PM -0400, Jim Serack wrote: >> Daniel, >> >> Your problem might actually be that the RC Thermostat "robs" the voltage >> source from incoming signals to power the serial signal back to the computer > > That depends how you wired it. Mine gets proper 24VAC from my furnace on a > separate wire (5 wires to furnace instead of 4). > > Marc > -- > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > Microsoft is to operating systems & security .... > .... what McDonalds is to gourmet cooking > Home page: http://marc.merlins.org/ > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > ________________________________________________________ > To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 > |
From: Jim S. <js...@sy...> - 2010-09-30 12:45:24
|
Marc, The Omnistat optically isolates serial (RS232) from the 24VAC furnace control. It does not power the RS-232 from the 24VAC supplied to the Omnistat. It does power the Omnistat internal circuitry from it and the 5 wire approach is a bit more robust - but it won't power the +12V and -12V for RS-232 - that is robbed from the incoming RS-232 signals. Jim -----Original Message----- From: Marc MERLIN [mailto:ma...@me...] Sent: September 29, 2010 11:24 PM To: Jim Serack Cc: 'The main list for the MisterHouse home automation program' Subject: Re: [mh] Omnistat Setup On Wed, Sep 29, 2010 at 10:38:12PM -0400, Jim Serack wrote: > Daniel, > > Your problem might actually be that the RC Thermostat "robs" the voltage > source from incoming signals to power the serial signal back to the computer That depends how you wired it. Mine gets proper 24VAC from my furnace on a separate wire (5 wires to furnace instead of 4). Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ |