Carrier Infinity

thanks, I will get the three wire one you suggest plus an 'expensive one' and I will see what they are both like, the cheap one is gonna take 24 days to get here :-)
 
Yeah, unfortunately to get the best prices on electronics you have to wait for them to arrive from China. If you're willing to spend a couple bucks more for the same thing you can get the simpler of the two with 2day shipping for $7. As long as it has a USB->UART chipset that Linux supports (which is all of them, basically) then it doesn't really matter. Here's a couple of pictures of how I have mine set up. The first pic shows my preferred adaptor close up.
 
http://imgur.com/a/bkcHX#0
 
The expensive one is also a 5pin one in case I need to do the full duplex on another project, I notice on the wiki it talks about mojilicious - is that a separate install (I would research but the gogo internet on this plane is slooow
 
Mojolicious is only required if you want to run Infinitude, which replaces Carrier's webservice if you have an Internet-enabled touch thermostat.
 
3tones' brybus code only needs python and a couple of python modules.
 
*If you just want to log data and need maximum performance(you don't. A rPI is more than capable of running Python/Perl) there's a little C utility to dump frames in the Infinitude contrib directory as well called cardump.
 
Thanks, I do indeed have the WiFi touch internet enabled thermostat (it even got a SW update yesterday) with zone temperature sensors and damper control.
So I was thinking of running infinitude - will the pi be powerful enough?
 
It looks like I have to install curl and apache and then use curl to install mojolicious - is that right?
 
Guess I should wait until I get home on Friday before bugging you more..
 
A pi should be more than capable. I'm running it on a Pogoplug which is roughly equivalent to the very first pi that came out with only 128M of ram.
 
However, a word of warning: the newest Carrier firmware changed a few things around and I still need to update Infinitude to adapt.
 
Ok major edit as i have positive progress with cardump.
 
Firstly for anyone who read the previous versions of this post.
I think i may have had some wiring issues because both adapters now work.
 
 this one  seems to working perfectly when using  'stty -F /dev/ttyUSB0 38400 cs8 -cstopb -parity'
 
However using the one recommended resulted in getting frames dumped, but an exit after a few minutes with: fatal error: Stream too noisy  I noticed on this adapter the TX light was going like freaking crazy and it caused: INDOOR UNIT COMMUNICATION FAULT
 
I have carrier infinity wifi touch with latest firmware, damper module with 3 dampers, non communicating carrier AC unit and a single temperature sensor in each of zone 2 and zone 3.  Does anyone want me to dump traffic for any period of time?
 
Alex
 
On the subject of getting infinitude to work and perl - I am patently way out of my depth here, i am reading as much as possible, but need some hand holding :-(
 
So after 15+ hours of trial and error and one bricked raspberry pi install, i finally got the web interface up and running, i have the serial data wooshing by on the serial tab - cool.  I don't see any data on the status / comfort profiles or schedules tab.  My thermostat says is connected to the faux carrier servers, but it doesn't see any weather data.
 
In the console i see the following info:
root@raspberrypi:/home/pi/link/infinitude# perl ./infinitude daemon -l [URL="http://:1234"]http://:1234[/url]
Subroutine decode_json redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 31.
Subroutine encode_json redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 36.
Subroutine false redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 38.
Subroutine from_json redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 40.
Subroutine j redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 45.
Subroutine to_json redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 50.
Subroutine true redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 52.
Subroutine _decode redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 54.
Subroutine _decode_array redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 76.
Subroutine _decode_object redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 96.
Subroutine _decode_string redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 127.
Subroutine _decode_value redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 182.
Subroutine _encode_array redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 213.
Subroutine _encode_object redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 217.
Subroutine _encode_string redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 224.
Subroutine _encode_value redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 230.
Subroutine _throw redefined at /usr/local/share/perl/5.14.2/Mojo/JSON.pm line 265.
Using /dev/ttyUSB0 serial interface
[Mon Mar 16 05:25:57 2015] [info] Listening at "[URL="http://:1234"]http://:1234[/url]"
Server available at [URL="http://:1234"]http://:1234[/url]
[Mon Mar 16 05:26:22 2015] [debug] /status.json
[Mon Mar 16 05:26:22 2015] [debug] GET "/status.json"
[Mon Mar 16 05:26:22 2015] [debug] Routing to a callback
[Mon Mar 16 05:26:22 2015] [debug] Template "key.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.development.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.development.html.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Rendering template "not_found.html.ep" from DATA section
[Mon Mar 16 05:26:22 2015] [debug] 404 Not Found (0.127622s, 7.836/s)
[Mon Mar 16 05:26:22 2015] [debug] /notifications.json
[Mon Mar 16 05:26:22 2015] [debug] GET "/notifications.json"
[Mon Mar 16 05:26:22 2015] [debug] Routing to a callback
[Mon Mar 16 05:26:22 2015] [debug] Template "key.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.development.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.development.html.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Rendering cached template "not_found.html.ep" from DATA section
[Mon Mar 16 05:26:22 2015] [debug] 404 Not Found (0.047593s, 21.011/s)
[Mon Mar 16 05:26:22 2015] [debug] /systems.json
[Mon Mar 16 05:26:22 2015] [debug] GET "/systems.json"
[Mon Mar 16 05:26:22 2015] [debug] Routing to a callback
[Mon Mar 16 05:26:22 2015] [debug] Template "key.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.development.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.json.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Template "not_found.development.html.ep" not found
[Mon Mar 16 05:26:22 2015] [debug] Rendering cached template "not_found.html.ep" from DATA section
[Mon Mar 16 05:26:22 2015] [debug] 404 Not Found (0.045288s, 22.081/s)
i know you said edits were needed, not sure if that would fix this or whether i have some perl lib install issues?
 
 
Here is how i finally got all the perl installed, i have no clue if this is right, got to say as a non programmer i am not a fan after having gone through this...  however maybe this can form part of the wiki for anyone else wanting to get infinitude working on pi - i will append if i get more changes.
 
I just made a new raspian SD card and i am trying again, here is what i have learnt / running post of what i am doing.
  • copy fresh raspian image on to SD card, insert in pi and boot
  • connect with SSH and run raspi-config to expand file system
  • perform apt-get update and then apt-get upgrade
  • rebooot
  • perl is installed by default on raspian (SWTF does every perl / pi guide tell me to install it with curl)
  • cpan is installed by default on raspian (SWTF does every perl / pi guide tell me to install it with curl)
  • running ./infinitude doesn't work as per the wiki, i can only assume this is because of how the #! statement at the beginning of the script is referencing ENV to find perl?  Also this means this wasn't the result of me messing up the perl install so i use perl ./infinitude daemon --help to figure out what cpan modules are missing.  Then I install them as follows:
  • cpan Mojolicious
    ​installs IO:Socket:IP, doesn't like the version of socket installed but seems to go ahead and upgrade it
[*]cpan DateTime
  • List::MoreUtils is not installed - seems to auto install it ok
  • Params::Validate is not installed - seems to auto install it ok
  • error on Test::Warnings & Test::Fatal, seems to skip as soft warning, should i install these?
    hmm later on these are listed in a want/have table, guess they got installed somewhere during the hour+ this DateTime took to install
[*]
Module::Implementation is not installed - seems to auto install it ok
[*]
Test::Requires is not installed - seems to auto install it ok
[*]
infact a whole bunch of Test::xyz module errors appear in the t/<testname> of a variety of the install - but it didn;t seem to install those ones - do i care?
[*]
module Readonly missing for a test
[*]
do i care about Acme::Unknown::Missing::Module::Name
[*]
Class:Singleton missing - seems to auto install it ok
[*]
List:AllUtils missing - seems to auto install it ok
[*]
sudo apt-get install expat - need to do or Wundeground install fails

[*]
sudo apt-get install libexpat1-dev 
- need to do or Wundeground install fails
[*]
cpan IO::Termios


  • !  IO::Pty is not installed - seems to get auto installed ok

  • !  IO::Tty is not installed - seems to get auto installed ok

  • !  Test::LongString is not installed - seems to get auto installed ok
[*]
​cpan WWW:Wunderground::API (nebulous is this your module too?  if so any way to apt-get the libexpat reqs for folks?)


  • a bunch of XML:: WWW:: HTTP:: IO:: File:: Hash:: Dist:: Package:: B:: Variable:: JSON:: prerequisites, not gonna document them all, bottom line so long as the libexpat was installed the install passed, that said i am not sure if the install was healthy... 

  • File posting to this forum seems broken, here is link to the install output http://1drv.ms/19pVQLj

as  a test ./infinitude would still not run at this point, here are the errors: 
root@raspberrypi:/home/pi/link/infinitude# perl ./infinitude daemon --help
Socket version 1.97 required--this is only version 1.94 at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 30, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 30, <DATA> line 2231.
Compilation failed in require at /usr/local/share/perl/5.14.2/Mojo/IOLoop/Client.pm line 5, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mojo/IOLoop/Client.pm line 5, <DATA> line 2231.
Compilation failed in require at /usr/local/share/perl/5.14.2/Mojo/IOLoop.pm line 7, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mojo/IOLoop.pm line 7, <DATA> line 2231.
Compilation failed in require at /usr/local/share/perl/5.14.2/Mojo/UserAgent.pm line 6, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mojo/UserAgent.pm line 6, <DATA> line 2231.
Compilation failed in require at /usr/local/share/perl/5.14.2/Mojo.pm line 10, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mojo.pm line 10, <DATA> line 2231.
Compilation failed in require at /usr/local/share/perl/5.14.2/Mojo/Base.pm line 30, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mojolicious.pm line 2, <DATA> line 2231.
Compilation failed in require at /usr/local/share/perl/5.14.2/Mojo/Base.pm line 30, <DATA> line 2231.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mojolicious/Lite.pm line 2, <DATA> line 2231.
Compilation failed in require at ./infinitude line 11, <DATA> line 2231.
BEGIN failed--compilation aborted at ./infinitude line 11, <DATA> line 2231.
here are the extra things i did to try and fix:
 
  • went into the cpan console and did r, not sure what this did but it got rid of the above (but i had more errors
  • cpan Cache
  • added 'use lib "/usr/share/perl/5.14.2"; ' to the infinitude file
  • went into cpan console
    install CPAN
  • reload cpan
[*]cpan Cache:FileCache - do I also need to install IPC::ShareLite?
[*]added 'use lib "usr/share/perl/5.14.2/Mojo"; to the infinitude file - or should i have just installed cpan JSON?
[*]cpan Data:ParseBinary
[*]cpan Digest:CRC

well bugger me i actually got the help text for infinitude --help command rather than an error of any kind.
 
 
I have a destination of 96 and 65 that isn't in the current wiki.
Want me to try and figure out what it is?  How do i do that?
 
96 is probably NIM for your AC and 65 is probably damper control but it is sort of unusual they are different base addresses.
 
scyto said:
My AC is non-communicating....
 
Doesn't that mean it needs to connect through a NIM?  Or is there a connection for a single stage non-comm outdoor unit on the indoor unit?
 
az1324 said:
Doesn't that mean it needs to connect through a NIM?  Or is there a connection for a single stage non-comm outdoor unit on the indoor unit?
i am out of my depth here on terminology. I inherited this system when i bought the house, all i have identified physically is a thermostat, 2 room sensors, damper control module, furnace an AC unit an electrostatic filter (which seems to reports usage on the thermostat, so i guess one of those addresses might be that, unless the % is just time based?).  I can go hunt for things if i know what to look for :-) but I don't recall ever seeing a network terrace module and I think the AC is single stage, I will dig out the manual. Happend to have the ac guy out today. No nim needed in this system. Makes me wonder if I should get a genetic Honeywell damper control, thermostats and ditch the carrier smarts.
 
Yes it seems the indoor units have connections for some non-communicating ACs and heat pumps.  Have you dumped all your device table headers and posted them somewhere?

If you have a communicating variable speed fan coil it probably doesn't make sense to swap damper/thermostat controls because you may lose features.
 
I ran cardump for a while but I am not sure if that is the same as 'dumping all my device tables and headers'?  sorry to be dumb... can you point me the right way?
 
Also I never saw fan coil as a destination on the infinitude serial output.  Only the thermostat, furnace and 96 & 65.
 
Back
Top