<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-3311422014386111682</id><updated>2010-01-06T11:13:49.449-07:00</updated><title type='text'>DIY Zoning</title><subtitle type='html'>The news channel for &lt;a href="http://www.homeclimatecontrol.com/"&gt;DIY Zoning Project&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default?start-index=26&amp;max-results=25'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>155</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-1292626829106539420</id><published>2010-01-06T11:03:00.004-07:00</published><updated>2010-01-06T11:12:49.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FAQ'/><category scheme='http://www.blogger.com/atom/ns#' term='off'/><title type='text'>FAQ: "Off" Zones</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; What does it mean when the zone is "off"?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; It means that the system will not care about the temperature in thos zone at all, other than recording it if it is configured to do so.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; How do the dampers behave in the zone that is off?&lt;br /&gt;&lt;br /&gt;A: The dampers will stay open when the HVAC unit is off, to give other systems (forced ventilation, humidifiers, dehumidifiers) chance to work without obstruction. The dampers will stay closed when the HVAC unit is running, unless there is a need to dump excess static pressure, in which case they will open barely enough to provide that.&lt;h3&gt;Use Cases&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;You don't need your bedroom at day, you may safely shut it off.&lt;/li&gt;&lt;li&gt;You don't need anything other than the bedroom at night, you may safely shut it off.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Warning:&lt;/span&gt; Currently, "off" means "off", and there is no minimum temperature override for heating mode to prevent your pipes from bursting. If there is such a chance, lowering the setpoint to minimum allowable is the way to go. In the future, this override will be introduced.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-1292626829106539420?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/1292626829106539420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/faq-off-zones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/1292626829106539420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/1292626829106539420'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/faq-off-zones.html' title='FAQ: &quot;Off&quot; Zones'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-3999101090757939450</id><published>2010-01-06T10:41:00.004-07:00</published><updated>2010-01-06T11:13:49.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FAQ'/><category scheme='http://www.blogger.com/atom/ns#' term='voting'/><title type='text'>FAQ: Non-Voting Zones</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What does it mean when the zone is made "non-voting"?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; It means that the zone will not cause the HVAC unit to turn on, if it is the first zone to be calling for heating or cooling. Otherwise, it will behave &lt;span style="font-style: italic;"&gt;exactly&lt;/span&gt; like it normally does - once the HVAC unit is running, this zone will be satisfied, even if it is the last one to be satisfied.&lt;br /&gt;&lt;br /&gt;Keep in mind that zone's voting status is subject to schedule - a zone can be voting in one period and non-voting in another.&lt;h3&gt;Use Cases&lt;/h3&gt;&lt;h4&gt;Good Case&lt;/h4&gt;This feature was originally intended to be used with small spaces like closets and bathrooms, which can overheat or cool down very quickly and cause HVAC unit to turn on and off unnecessarily often ("short cycling") - this is bad on the HVAC unit life, efficiency (it is "warming up" for 5 to 20 minutes, depending on the nature (A/C, heat pump, furnace, electric) and implementation), and electric or gas bill.&lt;br /&gt;&lt;br /&gt;If the zone you set to non-voting status is satisfied before other zones are, it is a right thing to do.&lt;h4&gt;Bad Case&lt;/h4&gt;This feature is &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; intended to take care of big rooms for the period when they are not occupied. This can be taken care by either setting those zones to &lt;a href="http://diy-zoning.blogspot.com/2010/01/faq-off-zones.html"&gt;"off" status&lt;/a&gt;, or lowering the setpoint (for heating) or raising it (for cooling).&lt;br /&gt;&lt;br /&gt;If the zone you set to non-voting status still demands cool or heat after other zones are already satisfied, &lt;span style="font-style: italic;"&gt;you're misusing the feature&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-3999101090757939450?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/3999101090757939450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/faq-non-voting-zones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3999101090757939450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3999101090757939450'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/faq-non-voting-zones.html' title='FAQ: Non-Voting Zones'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-1089728272640925748</id><published>2010-01-05T22:25:00.004-07:00</published><updated>2010-01-05T22:56:47.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fault tolerance'/><category scheme='http://www.blogger.com/atom/ns#' term='memory leak'/><category scheme='http://www.blogger.com/atom/ns#' term='release notes'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><category scheme='http://www.blogger.com/atom/ns#' term='bugfix'/><title type='text'>DZ 3.3.2 "Leakplug" Release Is Out</title><content type='html'>&lt;ul&gt;&lt;li&gt;Download from &lt;a href="https://sourceforge.net/projects/diy-zoning/files/"&gt;SourceForge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download from &lt;a href="http://code.google.com/p/diy-zoning/downloads/list"&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Get source code from &lt;a href="http://diy-zoning.svn.sourceforge.net/viewvc/diy-zoning/"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Changes since &lt;a href="http://diy-zoning.blogspot.com/2009/12/dz-331-housekeeping-release-is-out.html"&gt;3.3.1&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;(cosmetic, UI) Pressing +/- on the keyboard will now cycle through all available Android screen sizes (in pixels);&lt;/li&gt;&lt;li&gt;(fault tolerance) Hardware will now go into "power off" state upon DZ process termination;&lt;/li&gt;&lt;li&gt;(JMX) Individual dampers can now be monitored via JMX;&lt;/li&gt;&lt;li&gt;(hardware driver) One logical damper can now control multiple physical dampers (more than one register/damper per zone);&lt;/li&gt;&lt;li&gt;(optimization) 1-Wire and servo controller drivers now use less heap memory in favor of local variables = less garbage collection chatter;&lt;/li&gt;&lt;li&gt;(bugfix) On/off zone switch wors as designed now;&lt;/li&gt;&lt;li&gt;(bugfix) Voting zone switch works as designed now;&lt;/li&gt;&lt;li&gt;(bugfix) All zones must now be satisfied before the HVAC run ends, not just the one that initiated th run and the ones that happened to enter "calling" state before the first zone was satisfied;&lt;/li&gt;&lt;li&gt;(critical bugfix) Removed a memory leak in 1-Wire driver code;&lt;/li&gt;&lt;li&gt;(critical bugfix) Removed a memory leak in Servomaster code.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-1089728272640925748?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/1089728272640925748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/dz-332-leakplug-release-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/1089728272640925748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/1089728272640925748'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/dz-332-leakplug-release-is-out.html' title='DZ 3.3.2 &quot;Leakplug&quot; Release Is Out'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-5672296940751353670</id><published>2010-01-05T20:12:00.002-07:00</published><updated>2010-01-05T20:30:04.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='memory leak'/><category scheme='http://www.blogger.com/atom/ns#' term='servomaster'/><category scheme='http://www.blogger.com/atom/ns#' term='release notes'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><title type='text'>Servomaster 0.8.2.3 released</title><content type='html'>&lt;ul&gt;&lt;li&gt;Download from &lt;a href="https://sourceforge.net/projects/servomaster/files/"&gt;SourceForge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download from &lt;a href="http://code.google.com/p/servomaster/downloads/list"&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Get source from &lt;a href="https://sourceforge.net/scm/?type=svn&amp;amp;group_id=34418"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;CHANGES&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Minor: &lt;a href="http://servomaster.sourceforge.net/relnotes/parallax.html"&gt;Parallax family&lt;/a&gt; driver code was optimized to reduce garbage collection chatter;&lt;/li&gt;&lt;li&gt;Major: Plugged a memory leak causing Servomaster to blow DZ out of memory. This leak was occurring every time the transition controller was being engaged. Root cause of the leak was the missing &lt;code&gt;NDC.remove()&lt;/code&gt; at the end of the thread life.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-5672296940751353670?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/5672296940751353670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/servomaster-0823-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5672296940751353670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5672296940751353670'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/servomaster-0823-released.html' title='Servomaster 0.8.2.3 released'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-430177298524639394</id><published>2010-01-03T19:34:00.003-07:00</published><updated>2010-01-03T22:33:43.232-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FAQ'/><category scheme='http://www.blogger.com/atom/ns#' term='memory leak'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><title type='text'>Memory Leak Hunt: Aftermath</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;How much memory does DZ need to run?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;Within JVM, less than 6MB of heap memory and about 19MB of non-heap, total 25MB - that is with all the features turned on, including JMX and console. Take a look at the picture below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/tkachenko/4242684185/" title="-Xms4m -Xmx4m by Procrastinaut, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4036/4242684185_4039659b13_m.jpg" alt="-Xms4m -Xmx4m" height="147" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At the same time, JVM takes 177MB virtual memory, 57MB resident, and 10MB shared.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; How are you planning to prevent memory leaks in the future?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Starting with the next release (&lt;a href="http://www.homeclimatecontrol.com/release-notes"&gt;3.3.2&lt;/a&gt;), DZ JVM will be artificially constrained (&lt;code&gt;-Xms4m -Xmx4m&lt;/code&gt;) to make sure that if it blows out of memory, it does it very fast and the leak can be identified and reported immediately.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; Will it affect system performance?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; A little bit, you probably shouldn't care. Garbage collection will be happening once every few minutes instead of once every few hours. After you've ran DZ for a few hours (a day for most paranoid) in minimal configuration, you can safely remove the restriction - instructions will be provided within &lt;code&gt;dz-runner&lt;/code&gt; script. Keep in mind, though, that amount of memory that JVM is taking out of the system may be higher if you do that, now, &lt;span style="font-style: italic;"&gt;that&lt;/span&gt; may affect the system performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; How did you find the leak?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; It was a trivial sequence of &lt;code&gt;jmap&lt;/code&gt; and &lt;code&gt;jhat&lt;/code&gt; runs (details at &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/monitoring/"&gt;Monitoring and Managing Java SE 6 Platform Applications&lt;/a&gt;). In addition, some small and frequent memory allocations in &lt;code&gt;OWAPI&lt;/code&gt; were replaced with local variables, to reduce garbage collection chatter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; You're saying the leak is gone, but I keep getting &lt;code&gt;OutOfMemoryException&lt;/code&gt;!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Possible. Leak free status was verified for DZ core, 1-Wire sensor driver, and Parallax servo controller driver running on Sun's JDK 1.6.0_17 under Ubuntu 9.10. First thing you need to do is to submit a detailed report including your hardware and platform details. &lt;code&gt;jmap&lt;/code&gt; file (see the above link) right after the start and some time before the &lt;code&gt;OutOfMemoryException&lt;/code&gt; will be much appreciated.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-430177298524639394?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/430177298524639394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/memory-leak-hunt-aftermath.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/430177298524639394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/430177298524639394'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/memory-leak-hunt-aftermath.html' title='Memory Leak Hunt: Aftermath'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-4292726030089030921</id><published>2010-01-01T22:31:00.003-07:00</published><updated>2010-01-01T22:40:38.799-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='memory leak'/><category scheme='http://www.blogger.com/atom/ns#' term='early access'/><category scheme='http://www.blogger.com/atom/ns#' term='bugfix'/><title type='text'>Early Access: Memory Leaks Plugged</title><content type='html'>Two major memory leaks were plugged this week:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;One in &lt;code&gt;dz3-owapi&lt;/code&gt; module (related to the fact that OWAPI code was instantiating device containers on &lt;span style="font-weight: bold;"&gt;every&lt;/span&gt; &lt;code&gt;browse()&lt;/code&gt; (that'll be about once a minute);&lt;/li&gt;&lt;li&gt;One in Servomaster transition controller code (&lt;code&gt;NDC.remove()&lt;/code&gt; wasn't called at the end of the thread life).&lt;/li&gt;&lt;/ul&gt;Code is available in Subversion (make sure you get both &lt;a href="http://sourceforge.net/scm/?type=svn&amp;amp;group_id=52647"&gt;DZ&lt;/a&gt; and &lt;a href="https://sourceforge.net/scm/?type=svn&amp;amp;group_id=34418"&gt;Servomaster&lt;/a&gt; updates.&lt;br /&gt;&lt;br /&gt;Release will follow shortly.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-4292726030089030921?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/4292726030089030921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/early-access-memory-leaks-plugged.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4292726030089030921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4292726030089030921'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2010/01/early-access-memory-leaks-plugged.html' title='Early Access: Memory Leaks Plugged'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-6577320985518963800</id><published>2009-12-29T16:33:00.002-07:00</published><updated>2009-12-29T16:37:50.575-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='early access'/><title type='text'>Early Access: Damper Multiplexing</title><content type='html'>&lt;a href="https://sourceforge.net/projects/diy-zoning/develop"&gt;Subversion&lt;/a&gt; contains code that allows to control more than one physical damper per zone.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.homeclimatecontrol.com/deliverables/configuration-guide"&gt;Configuration Guide&lt;/a&gt; had been updated accordingly (see Damper Controllers 7/8).&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-6577320985518963800?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/6577320985518963800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-damper-multiplexing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/6577320985518963800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/6577320985518963800'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-damper-multiplexing.html' title='Early Access: Damper Multiplexing'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-4867753740984704162</id><published>2009-12-23T20:03:00.003-07:00</published><updated>2009-12-23T20:08:30.674-07:00</updated><title type='text'>Early Access: Screen Sizes</title><content type='html'>Pressing + or - on the keyboard will now cycle the &lt;a href="http://diy-zoning.blogspot.com/2009/12/dz-33-interface-release-is-out.html"&gt;Swing GUI&lt;/a&gt; through all screen sizes &lt;a href="http://developer.android.com/sdk/android-2.0.1.html"&gt;officially supported&lt;/a&gt; by Android. Just in case.&lt;br /&gt;&lt;br /&gt;Available from &lt;a href="http://diy-zoning.svn.sourceforge.net/viewvc/diy-zoning/"&gt;Subversion&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-4867753740984704162?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/4867753740984704162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-screen-sizes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4867753740984704162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4867753740984704162'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-screen-sizes.html' title='Early Access: Screen Sizes'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-7775615486944139851</id><published>2009-12-22T13:15:00.003-07:00</published><updated>2009-12-22T14:10:52.952-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release notes'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='bugfix'/><title type='text'>DZ 3.3.1 "Housekeeping" Release Is Out</title><content type='html'>&lt;ul&gt;&lt;li&gt;Download from &lt;a href="https://sourceforge.net/projects/diy-zoning/files/"&gt;SourceForge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download from &lt;a href="http://code.google.com/p/diy-zoning/downloads/list"&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Get source code from &lt;a href="http://diy-zoning.svn.sourceforge.net/viewvc/diy-zoning/"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Changes since &lt;a href="http://diy-zoning.blogspot.com/2009/12/dz-33-interface-release-is-out.html"&gt;3.3-INTERFACE&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Critical fix: &lt;code&gt;BalancingDamperController&lt;/code&gt; was broken - "off by opposite", works now;&lt;/li&gt;&lt;li&gt;Bugfix: dampers will now stay open when the HVAC unit is not running, like it was supposed to be to begin with;&lt;/li&gt;&lt;li&gt;Servos can now be calibrated and reversed, see detailed instructions in &lt;a href="http://www.homeclimatecontrol.com/deliverables/configuration-guide"&gt;Configuration Guide&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-7775615486944139851?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/7775615486944139851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz-331-housekeeping-release-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/7775615486944139851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/7775615486944139851'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz-331-housekeeping-release-is-out.html' title='DZ 3.3.1 &quot;Housekeeping&quot; Release Is Out'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-2466442185346663521</id><published>2009-12-22T12:44:00.003-07:00</published><updated>2009-12-22T12:51:17.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='servomaster'/><category scheme='http://www.blogger.com/atom/ns#' term='release notes'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Servomaster 0.8.2.2 released</title><content type='html'>&lt;ul&gt;&lt;li&gt;Download from &lt;a href="https://sourceforge.net/projects/servomaster/files/"&gt;SourceForge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download from &lt;a href="http://code.google.com/p/servomaster/downloads/list"&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Get source from &lt;a href="https://sourceforge.net/scm/?type=svn&amp;amp;group_id=34418"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;CHANGES&lt;/h3&gt;This is a maintenance release. No significant changes other than finally removing all &lt;code&gt;System.*.println&lt;/code&gt; and adjusting log levels to avoid scaring unsuspecting users with transition controller completions.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-2466442185346663521?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/2466442185346663521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/servomaster-0822-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/2466442185346663521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/2466442185346663521'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/servomaster-0822-released.html' title='Servomaster 0.8.2.2 released'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-5196499058500228853</id><published>2009-12-21T20:37:00.004-07:00</published><updated>2009-12-21T21:10:50.125-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='early access'/><category scheme='http://www.blogger.com/atom/ns#' term='servo'/><category scheme='http://www.blogger.com/atom/ns#' term='calibration'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Early Access: Servo Calibration</title><content type='html'>Every servo is different, same goes for servo controllers.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sourceforge.net/projects/diy-zoning/develop"&gt;Subversion&lt;/a&gt; now contains code that allows you to&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Reverse the servo movement if your mechanical design requires it;&lt;/li&gt;&lt;li&gt;Provide servo &lt;a href="http://servomaster.sourceforge.net/meta/servo/range/min/index.html"&gt;min&lt;/a&gt;/&lt;a href="http://servomaster.sourceforge.net/meta/servo/range/max/index.html"&gt;max&lt;/a&gt; range calibration for controllers that support it;&lt;/li&gt;&lt;li&gt;Provide limit calibration for controllers that don't.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.homeclimatecontrol.com/deliverables/configuration-guide"&gt;Configuration Guide&lt;/a&gt; will be updated with instructions shortly, for now, take a look at &lt;code&gt;DamperFactory&lt;/code&gt; source code and use &lt;a href="http://static.springsource.org/spring/docs/2.5.x/reference/beans.html"&gt;Spring IoC&lt;/a&gt; techniques to configure calibration entities.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-5196499058500228853?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/5196499058500228853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-servo-calibration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5196499058500228853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5196499058500228853'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-servo-calibration.html' title='Early Access: Servo Calibration'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-3026680444668762070</id><published>2009-12-17T15:43:00.003-07:00</published><updated>2009-12-17T15:54:00.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='SheevaPlug'/><title type='text'>Hardware: SheevaPlug</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/File:SheevaPlug_with_external_drive_enclosure.jpg"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/SheevaPlug_with_external_drive_enclosure.jpg/300px-SheevaPlug_with_external_drive_enclosure.jpg" alt="SheevaPlug" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just bought the &lt;a href="http://en.wikipedia.org/wiki/SheevaPlug"&gt;SheevaPlug&lt;/a&gt; development kit from &lt;a href="http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit-us.aspx"&gt;Globalscale&lt;/a&gt;. Will start working on putting DZ3 on it as soon as it arrives (estimate wait is 2-3 weeks).&lt;br /&gt;&lt;br /&gt;Feedback from people that have used this device indicates that it is not really usable without external hard drive (either network mount or external USB), you may want to keep that in mind if you decide to follow suit.&lt;br /&gt;&lt;br /&gt;On the other hand, changes that are planned for DZ will make disk unnecessary, so you may want to hold that off if running DZ is the only thing you are planning to buy this device for.&lt;br /&gt;&lt;br /&gt;Bonus feature for external USB drive would be to find an enclosure that is able to report the disk temperature via &lt;a href="https://sourceforge.net/apps/trac/smartmontools/wiki"&gt;smartctl&lt;/a&gt; or &lt;a href="http://www.guzu.net/linux/hddtemp.php"&gt;hddtemp&lt;/a&gt; - if you find one, please let me know.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-3026680444668762070?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/3026680444668762070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/hardware-sheevaplug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3026680444668762070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3026680444668762070'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/hardware-sheevaplug.html' title='Hardware: SheevaPlug'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-5743684929640293363</id><published>2009-12-16T20:13:00.008-07:00</published><updated>2009-12-17T23:48:16.014-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='HOWTO'/><title type='text'>DZ3 Configuration Walkthrough</title><content type='html'>Beware: this is an experiment, and work in progress (I'm writing the presentation as you're reading it). Just following the "release early, release often" policy to maximize the chance of getting useful feedback in time.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/present/embed?id=d3ggvt2_056dtpsrc" frameborder="0" height="342" width="410"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt; Restriction on minimal font size in your browser will affect the presentation view in the small window - maximizing it will fix the issue.&lt;br /&gt;&lt;br /&gt;UPDATE: Permanent location for the configuration guide (this one and subsequent): &lt;a href="http://www.homeclimatecontrol.com/deliverables/configuration-guide"&gt;http://www.homeclimatecontrol.com/deliverables/configuration-guide&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-5743684929640293363?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/5743684929640293363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/configuration-howto.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5743684929640293363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5743684929640293363'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/configuration-howto.html' title='DZ3 Configuration Walkthrough'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-3938189358468386044</id><published>2009-12-16T15:43:00.003-07:00</published><updated>2009-12-16T16:13:36.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='iComfort'/><title type='text'>The Competition: iComfort™</title><content type='html'>&lt;a href="http://www.zonecontrolblog.com/the_zone_control_blog/"&gt;The Zone Control Blog&lt;/a&gt; posted a reference to &lt;a href="http://jacksonsystems.com/icomfort"&gt;iComfort™ Communicating Thermostat&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is the most comprehensive Web application that I've seen so far. There is a demo you can play with (follow the link, there's a username and password for the demo).&lt;br /&gt;&lt;br /&gt;The demo vividly reminds me of  my experience working with &lt;a href="http://code.google.com/apis/checkout/"&gt;Google Checkout API&lt;/a&gt;. Don't know what it is today, but back when I was working with it the callback deadline was 3 seconds.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Three seconds.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;You blow the deadline, you don't exist for the Checkout engine, and your customer pays default shipping rate, not the shipping rate that applies to the product you're selling. Oversize product? Extra heavy product? Your problem, &lt;span style="font-style: italic;"&gt;you&lt;/span&gt; blew the deadline. Go away, you don't exist.&lt;br /&gt;&lt;br /&gt;Call me arrogant, and don't forget to throw rocks at me and stick it to my face when the DZ Web application is up and running.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-3938189358468386044?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/3938189358468386044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-icomfort.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3938189358468386044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3938189358468386044'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-icomfort.html' title='The Competition: iComfort&amp;trade;'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-5365491223799176904</id><published>2009-12-16T15:05:00.003-07:00</published><updated>2009-12-16T15:15:23.466-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poll'/><title type='text'>Poll Questions Updated</title><content type='html'>This project's development is driven by what &lt;span style="font-weight: bold;"&gt;you&lt;/span&gt; want. I can't know what you want unless you tell me. Taking a poll is the fastest way I can hear your voice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.homeclimatecontrol.com/your-vote-counts"&gt;Your vote counts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If there are things tat you would like to tell me that are not in the poll, please comment on this post, or join the &lt;a href="http://sourceforge.net/mail/?group_id=52647"&gt;mailing list&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-5365491223799176904?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/5365491223799176904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/poll-questions-updated.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5365491223799176904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5365491223799176904'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/poll-questions-updated.html' title='Poll Questions Updated'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-3625757611347607153</id><published>2009-12-16T00:05:00.003-07:00</published><updated>2009-12-16T00:13:08.763-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lm_sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='FAQ'/><category scheme='http://www.blogger.com/atom/ns#' term='hddtemp'/><category scheme='http://www.blogger.com/atom/ns#' term='minimal configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>FAQ: minimal sensor hardware</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; What is the minimal set of sensor hardware do I need to run DZ on?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; With some luck, you already have it. Look for a DZ entity called &lt;code&gt;ShellSensor&lt;/code&gt;, it will allow you to use information provided by &lt;a href="http://www.lm-sensors.org/"&gt;lm_sensors&lt;/a&gt; or &lt;a href="http://www.guzu.net/linux/hddtemp.php"&gt;hddtemp&lt;/a&gt; to feed the rest of DZ on.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-3625757611347607153?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/3625757611347607153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/faq-minimal-sensor-hardware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3625757611347607153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3625757611347607153'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/faq-minimal-sensor-hardware.html' title='FAQ: minimal sensor hardware'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-6392389922380850704</id><published>2009-12-15T21:59:00.012-07:00</published><updated>2009-12-15T23:43:04.169-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Swing'/><category scheme='http://www.blogger.com/atom/ns#' term='release notes'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface'/><title type='text'>DZ 3.3 "Interface" Release Is Out</title><content type='html'>&lt;ul&gt;&lt;li&gt;Download from &lt;a href="https://sourceforge.net/projects/diy-zoning/files/"&gt;SourceForge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download from &lt;a href="http://code.google.com/p/diy-zoning/downloads/list"&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Get source code from &lt;a href="http://diy-zoning.svn.sourceforge.net/viewvc/diy-zoning/"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;How To Activate The Interface&lt;/h3&gt;&lt;br /&gt;This is the configuration snippet that makes it happen:&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;pre&gt;&amp;lt;bean id="console"&lt;br /&gt;     class="net.sf.dz3.view.swing.Console"&lt;br /&gt;     init-method="show"&amp;gt;&lt;br /&gt; &amp;lt;constructor-arg index="0" type="java.util.Set"&amp;gt;&lt;br /&gt;   &amp;lt;set&amp;gt;&lt;br /&gt;     &amp;lt;ref bean="&lt;span style="color: rgb(51, 51, 255);"&gt;(your-thermostats-here)&lt;/span&gt;" /&amp;gt;&lt;br /&gt;   &amp;lt;/set&amp;gt;&lt;br /&gt; &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;Right now, only thermostats are supported. Later, all sorts of entities will be supported along with thermostats - just like it's been happening with loggers and JMX instrumentation.&lt;br /&gt;&lt;h3&gt;How To Make Sense Out Of It&lt;/h3&gt;&lt;img src="http://farm3.static.flickr.com/2684/4189605336_b913ff8d99_o.png" alt="DIY Zoning Console" /&gt;&lt;br /&gt;&lt;br /&gt;There's quite a few things that you see there.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There are six zones configured;&lt;/li&gt;&lt;li&gt;You're looking at the leftmost;&lt;/li&gt;&lt;li&gt;The name of this zone is "Bedroom"&lt;/li&gt;&lt;li&gt;Current temperature is 19.6°C - it'll be too cold if it was in Fahrenheit;&lt;/li&gt;&lt;li&gt;Setpoint is 20°C;&lt;/li&gt;&lt;li&gt;This zone is configured in heating mode - setpoint font is red;&lt;/li&gt;&lt;li&gt;Schedule will not affect this zone's setpoint - this is what the lock icon is indicating, also the orange vertical stripe on this zone's bar on top;&lt;/li&gt;&lt;li&gt;This zone is not voting (more about it below) - this is what the stop icon is indicating, also the dark red vertical stripe on this zone's bar on the top;&lt;/li&gt;&lt;li&gt;Second and third zones from the left are also on hold (orange vertical stripe);&lt;/li&gt;&lt;li&gt;Second and third zones from the left are not only on hold, but are also off (bar icons are not green but gray);&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fourth from the left zone is not voting, just like the first;&lt;/li&gt;&lt;li&gt;Fourth from the left zone is outside of tolerance, a.k.a. "calling" (the bar is yellow, not green);&lt;/li&gt;&lt;li&gt;Rightmost zone's sensor is faulty (the bar on top is dark red).&lt;/li&gt;&lt;/ul&gt;Background will also change depending on current operating mode, whether the HVAC unit is working, and where exactly the current zone is within the tolerance limits, but one picture is worth a thousand words - you'll see what I'm talking about when you watch it work.&lt;br /&gt;&lt;br /&gt;Fair warning: the background behavior &lt;span style="font-style: italic;"&gt;will&lt;/span&gt; change in future releases, don't get used to it too much.&lt;br /&gt;&lt;h2&gt;How To Control It&lt;/h2&gt;The only way to control the application at this time is with keyboard shortcuts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Left/Right arrows&lt;/span&gt; change the currently selected zone;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Up/Down arrows&lt;/span&gt; change the setpoint for the currently selected zone;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;H&lt;/span&gt; puts the zone on &lt;span style="font-weight: bold;"&gt;h&lt;/span&gt;old or takes it off it;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;V&lt;/span&gt; toggles &lt;span style="font-weight: bold;"&gt;v&lt;/span&gt;oting status;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;O&lt;/span&gt; toggles the zone &lt;span style="font-weight: bold;"&gt;o&lt;/span&gt;n and &lt;span style="font-weight: bold;"&gt;o&lt;/span&gt;ff;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;C&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;F&lt;/span&gt; toggle display between &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;elsius and &lt;span style="font-weight: bold;"&gt;F&lt;/span&gt;ahrenheit for all zones.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;What Is "Voting"?&lt;/h3&gt;Simplest explanation is this: you won't want to turn on the HVAC because the temperature in your walk-in closet is too high/low, but if the HVAC already working, it'll be nice to have the temperature in the closet decent enough before it stops. A good reason to have a non-voting zone in the first place is that it is by implication a &lt;a href="http://diy-zoning.sourceforge.net/Advanced/faq.html#hvac_pressure"&gt;dump zone&lt;/a&gt;.&lt;h2&gt;Look At The Bars Again&lt;/h2&gt;&lt;img src="http://farm3.static.flickr.com/2684/4189605336_b913ff8d99_o.png" alt="DIY Zoning Console" /&gt;&lt;br /&gt;Upon close consideration, you might notice that each zone bar has a level indicator. It shows where within te tolerance limit each zone is, so you will have a good understanding how your whole house feels just by looking at this contraption.&lt;br /&gt;&lt;br /&gt;One of reasons this is done this way is an observation on how people behave given dull thermostat reaction to slowly changing conditions (this haunts everyone in mid-season): sometimes it takes hours for your thermostat to realize that the temperature's been a hairdrop from triggering the HVAC all along. And what unhappy people do is start pressing buttons hoping to coax their thermostat to make something happen - even if it was already about to do that anyway. And of course, then they complain that now it's too cold or hot, and have to "fix" thermostat settings again.&lt;br /&gt;&lt;br /&gt;With this display being there, they will hopefully see what the system is about to do and, knowing that, will have less inclination to fiddle with it, upsetting the balance.&lt;br /&gt;&lt;h3&gt;Credits&lt;/h3&gt;&lt;a href="http://www.famfamfam.com/lab/icons/silk/"&gt;Silk&lt;/a&gt; icon set by &lt;a href="http://www.famfamfam.com/"&gt;Mark James&lt;/a&gt; was used in this release.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-6392389922380850704?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/6392389922380850704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz-33-interface-release-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/6392389922380850704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/6392389922380850704'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz-33-interface-release-is-out.html' title='DZ 3.3 &quot;Interface&quot; Release Is Out'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-5949138810874704333</id><published>2009-12-14T11:05:00.003-07:00</published><updated>2009-12-14T11:42:40.491-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='X300'/><title type='text'>The Competition: X300™</title><content type='html'>&lt;a href="http://www.controlbyweb.com/x300/"&gt;&lt;img src="http://www.controlbyweb.com/x300/images/X300_angle.gif" /&gt;&lt;/a&gt;&lt;br /&gt;A representative of an interesting &lt;a href="http://www.controlbyweb.com/products.html"&gt;product family&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I don't quite understand the rationale for feature set selection - the device supports&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eternet connector (very nice),&lt;/li&gt;&lt;li&gt;relays (very nice),&lt;br /&gt;&lt;/li&gt;&lt;li&gt;email alerts (that I can understand),&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Modbus"&gt;Modbus&lt;/a&gt;/TCP (that's an impressive industrial protocol, but I don't remeber any home automation application that suports it),&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol"&gt;SNMP&lt;/a&gt; (same as Modbus),&lt;/li&gt;&lt;li&gt;BASIC interpreter (why would anyone want that today???),&lt;/li&gt;&lt;li&gt;but just &lt;a href="http://www.controlbyweb.com/x300/specs.html"&gt;8 sensors&lt;/a&gt;. Eight? While using &lt;a href="http://www.maxim-ic.com/quick_view2.cfm?qv_pk=2812"&gt;DS18B20&lt;/a&gt;, implying &lt;a href="http://www.maxim-ic.com/products/1-wire/"&gt;1-Wire&lt;/a&gt;, which is potentially unlimited? You're kidding. I'd say this is a deal breaker.&lt;/li&gt;&lt;/ul&gt;Tihs device smells of an identity crisis to me - ask yourself a question, who is the consumer of this device? Too heavily loaded with industrial features for consumer market, too limited hardware for industrial. Or maybe the overall state of affairs in industrial applications is more grim than I thought.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.controlbyweb.com/x300/"&gt;&lt;img src="http://www.controlbyweb.com/x300/images/phone.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the only device to date (that I have found so far) that has a mobile application. Or, should I say, has a picture of an application running on an iPhone - &lt;a href="http://www.apple.com/iphone/apps-for-iphone/"&gt;App Store&lt;/a&gt; search yielded no results, and there were no application links that I could find.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-5949138810874704333?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/5949138810874704333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-x300.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5949138810874704333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5949138810874704333'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-x300.html' title='The Competition: X300&amp;trade;'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-4923397612250795932</id><published>2009-12-12T23:12:00.005-07:00</published><updated>2009-12-12T23:40:50.742-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI-Swing'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='early access'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Early Access: Usable GUI Again</title><content type='html'>&lt;a href="https://sourceforge.net/projects/diy-zoning/develop"&gt;Subversion&lt;/a&gt; contains code for still ugly GUI that can do three things right:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Display the zone name, current temperature and setpoint for the selected zone;&lt;/li&gt;&lt;li&gt;Flip back and forth through zones (left/right arrows);&lt;/li&gt;&lt;li&gt;Change setpoint for the currently selected zone (up/down arrows).&lt;/li&gt;&lt;/ul&gt;There are also subtle visual cues to what the system is currently doing, and there will be more and more as time goes by.&lt;br /&gt;&lt;br /&gt;New features would be available via keystrokes. Feel free to try all keys on the keyboard, you're unlikely to break something and you'll see what's happening. There's a good time that by the time you read this, &lt;u&gt;h&lt;/u&gt;old, &lt;u&gt;v&lt;/u&gt;oting, &lt;u&gt;o&lt;/u&gt;ff and &lt;u&gt;F&lt;/u&gt;ahrenheit vs. &lt;u&gt;C&lt;/u&gt;elsius switches will be already implemented.&lt;br /&gt;&lt;br /&gt;No mouse interaction other than gestures (drag left, right, up and down) and possibly a right click menu will be provided. It is planned that all major features will be available via single key press - or there will be advanced interface for the feature that will not be a part of the GUI.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-4923397612250795932?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/4923397612250795932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-usable-gui-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4923397612250795932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4923397612250795932'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/early-access-usable-gui-again.html' title='Early Access: Usable GUI Again'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-5070778368977542813</id><published>2009-12-08T20:39:00.003-07:00</published><updated>2009-12-08T20:50:24.075-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PID Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>Saturation Limit, Configuration Testing and Other Disasters</title><content type='html'>&lt;a href="http://www.flickr.com/photos/tkachenko/4170269181/" title="Oops... by Procrastinaut, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2615/4170269181_023dfc39ab_m.jpg" width="240" height="144" alt="Oops..." /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is what happens when you forget to specify the saturation limit. P=-1, I=-0.0000002, D=0, no saturation limit is specified. Oops...&lt;br /&gt;&lt;br /&gt;Wonder how many hours it'll take to get back in shape - no big deal, since HVAC is not controlled by DZ at this time, tit's just working as a testbed at this location. But a runaway condition like that on real hardware would have cost you a pretty dime, and possibly damaged hardware.&lt;br /&gt;&lt;br /&gt;A saturation limit of, say, 3 would've fixed the situation.&lt;br /&gt;&lt;br /&gt;Which brings up a question - how do you test configuration changes without jeopardizing very expensive hardware? The answer is trivial - you clone control elements of the configuration, use elements that havbe been tried and found correct to control the hardware, and use untested elements for monitoring only. Yes, there will be differentces between real behavior and tested behavior later due to the fact that control outputs from elements out of feedback loop (actual hardware control) are ignored, but you will at least get a rough idea of how they will perform.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-5070778368977542813?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/5070778368977542813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/saturation-limit-configuration-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5070778368977542813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/5070778368977542813'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/saturation-limit-configuration-testing.html' title='Saturation Limit, Configuration Testing and Other Disasters'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-8223254702106656951</id><published>2009-12-08T01:01:00.003-07:00</published><updated>2009-12-08T01:09:59.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='touch screen'/><category scheme='http://www.blogger.com/atom/ns#' term='thermostat'/><title type='text'>The Competition: Advanced Temperature Control</title><content type='html'>&lt;a href="http://www.control4.com/suite-systems/ss-solutions/hvac/"&gt;&lt;img src="http://www.control4.com/uploads/images/suite_systems/products/tv_hvac.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Doesn't quite look in the same weight category as DZ, but it is. DZ, despite being all primitive and DIYy, is limited only by hardware. Give it commercial class hardware - get commercial class performance.&lt;br /&gt;&lt;br /&gt;Just give me a second to finish the UI, all right? :)&lt;br /&gt;&lt;br /&gt;Speaking of which, they have a nice &lt;a href="http://www.control4.com/products/37/54/control4_7_table_top_touch_screen/"&gt;touch screen&lt;/a&gt; as well.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(Image: &lt;a ref="http://www.control4.com/"&gt;Control4&lt;/a&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-8223254702106656951?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/8223254702106656951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-advanced-temperature.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/8223254702106656951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/8223254702106656951'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-advanced-temperature.html' title='The Competition: Advanced Temperature Control'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-4957483416657094621</id><published>2009-12-07T23:33:00.003-07:00</published><updated>2009-12-07T23:55:38.232-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dehumidifier'/><category scheme='http://www.blogger.com/atom/ns#' term='humidistat'/><category scheme='http://www.blogger.com/atom/ns#' term='release notes'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='humidifier'/><category scheme='http://www.blogger.com/atom/ns#' term='Humidor'/><title type='text'>DZ 3.2.2 "Humidor" Release Is Out</title><content type='html'>&lt;ul&gt;&lt;li&gt;Download from &lt;a href="https://sourceforge.net/projects/diy-zoning/files/"&gt;SourceForge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download from &lt;a href="http://code.google.com/p/diy-zoning/downloads/list"&gt;Google Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Get source code from &lt;a href="http://diy-zoning.svn.sourceforge.net/viewvc/diy-zoning/"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;IMPROVEMENTS&lt;/h3&gt;Added ability to use a humidity sensor based on &lt;code&gt;com.dalsemi.onewire.container.HumidityContainer&lt;/code&gt; to operate a humidifier and/or dehumidifier.&lt;br /&gt;&lt;br /&gt;This is a snippet of configuration that makes it work:&lt;span style="font-size:78%;"&gt;&lt;pre&gt;&amp;lt;bean id="device_factory"&lt;br /&gt;     class="net.sf.dz3.device.sensor.impl.onewire.OwapiDeviceFactory"&lt;br /&gt;     init-method="start"&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg index="0" value="/dev/ttyUSB0" /&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg index="1" value="regular" /&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;bean id="humidity_sensor-6500000055FF1A26"&lt;br /&gt;     factory-bean="device_factory"&lt;br /&gt;     factory-method="getHumiditySensor"&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg value="6500000055FF1A26" /&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;The &lt;code&gt;humidity_sensor-6500000055FF1A26&lt;/code&gt; bean is further used to feed te thermostat bean that is, however, not controlling the heating or cooling device, but a humidifier or dehumidifier instead - the control chain is identical.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt; It was reported that there is at least one humidity sensor reported as a temperature sensor - the &lt;a href="http://www.hobby-boards.com/catalog/product_info.php?cPath=24&amp;amp;products_id=54"&gt;HT3-R1-A&lt;/a&gt; board. In this case, you don't even need to change the &lt;code&gt;factory-method&lt;/code&gt; attribute.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-4957483416657094621?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/4957483416657094621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz-322-humidor-release-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4957483416657094621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4957483416657094621'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz-322-humidor-release-is-out.html' title='DZ 3.2.2 &quot;Humidor&quot; Release Is Out'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-3585038284032755259</id><published>2009-12-06T14:05:00.005-07:00</published><updated>2009-12-07T23:57:00.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dehumidifier'/><category scheme='http://www.blogger.com/atom/ns#' term='humidistat'/><category scheme='http://www.blogger.com/atom/ns#' term='humidifier'/><category scheme='http://www.blogger.com/atom/ns#' term='extensibility'/><title type='text'>DZ3 As A LEGO Construction Set</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; Can I use DZ3 to run a humidifier?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Yes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; Can I do it so the humidifier runs only when the furnace is on?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Yes, but some tinkering with relays is necessary today.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; But it is not documented!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; So what? There's a thousand things that DZ3 is supposed to do when it is done and finished, most of them unpublished for this or that reason (sometimes as simple as "I didn't get to writing about that yet").&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;The architecture was intentionally created as generic, transparent and extensible and as possible, and if you want to do something that hasn't yet been documented as "released", sometimes all you have to do is to take a second look at components that are already available.&lt;/span&gt;&lt;/blockquote&gt;So, back to the original question, how do you run DZ as a humidifier? You use the &lt;code&gt;OwapiDeviceFactory&lt;/code&gt; with &lt;code&gt;getHumiditySensor&lt;/code&gt; (I don't remember if I even implemented it yet, but even if I didn't, it's a no-brainer change - look at how &lt;code&gt;getTemperatureSensor&lt;/code&gt; is implemented. &lt;del&gt;In any case, it'll be in within a couple of days for sure&lt;/del&gt; &lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt; &lt;a href="http://diy-zoning.blogspot.com/2009/12/dz-322-humidor-release-is-out.html"&gt;fixed&lt;/a&gt;). Then you feed the output of that sensor into a virtual thermostat - but with the setpoint being a humidity, not temperature. The rest of the chain is obvious - just like with heating and cooling, only this time the output device is the humidifier.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; Can I use DZ3 to run a &lt;span style="font-weight: bold;"&gt;de&lt;/span&gt;humidifier?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Yes, invert P and I components of the thermostat PID controller.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-3585038284032755259?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/3585038284032755259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz3-as-lego-construction-set.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3585038284032755259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/3585038284032755259'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/dz3-as-lego-construction-set.html' title='DZ3 As A LEGO Construction Set'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-6325208892900040323</id><published>2009-12-05T23:21:00.004-07:00</published><updated>2009-12-08T01:12:56.461-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='energy conservation'/><category scheme='http://www.blogger.com/atom/ns#' term='PCT'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmable Communicating Thermostat'/><category scheme='http://www.blogger.com/atom/ns#' term='green'/><title type='text'>Not Quite Competition: What Other Geeks Do</title><content type='html'>&lt;a href="http://www.physorg.com/news169311648.html"&gt;&lt;img src="http://www.physorg.com/newman/gfx/news/hires/1-listeningtot.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A pretty long &lt;a href="http://www.physorg.com/news169311648.html"&gt;article&lt;/a&gt; comes with the picture. The device resolves as &lt;a href="http://en.wikipedia.org/wiki/Programmable_Communicating_Thermostat"&gt;Programmable Communicating Thermostat&lt;/a&gt;. Just like with &lt;a href="http://www.amx.com/products/ENV-VST-C.asp"&gt;ENV-VST-C&lt;/a&gt;, California Title 24 is mentioned.&lt;br /&gt;&lt;br /&gt;They call the interface simple, but I think it recembles the &lt;a href="http://diy-zoning.sourceforge.net/hvac-talk/diy-3.html"&gt;DZ1 interface&lt;/a&gt; (scroll down a bit to find it, it has an unmistakably mainframe feel to it).&lt;br /&gt;&lt;br /&gt;Whereas other manufacturers loudly proclaim "money saving features" with pretty vague claims of "up to" "if used correctly", I have a gut feeling that this device does indeed have an emphasis on actual energy conservation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(Image: &lt;a href="http://www.physorg.com/"&gt;Physorg&lt;/a&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-6325208892900040323?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/6325208892900040323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/not-quite-competition-what-other-geeks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/6325208892900040323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/6325208892900040323'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/not-quite-competition-what-other-geeks.html' title='Not Quite Competition: What Other Geeks Do'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3311422014386111682.post-4062106389353449724</id><published>2009-12-05T22:40:00.004-07:00</published><updated>2009-12-08T01:11:49.476-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='Ecobee'/><title type='text'>The Competition: ecobee</title><content type='html'>&lt;a href="http://www.ecobee.com/"&gt;&lt;img src="http://www.ecobee.com/public/images/productAndSlogan-consumer-b.jpg" alt="Ecobee" height="70%" width="70%" /&gt;&lt;/a&gt;&lt;br /&gt;Pretty interesting &lt;a href="http://www.ecobee.com/product/overview"&gt;feature set&lt;/a&gt;, including &lt;a href="http://www.ecobee.com/product/personalizedwebportalfeatures"&gt;Internet access&lt;/a&gt;. Features are well documented, with video presentations. Site navigation is pretty crowded, though, be careful not to miss important links just below the green header.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ecobee.com/termsofsale"&gt;Terms of sale&lt;/a&gt; call for advanced law degree, which makes me a bit nervous.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(Image: &lt;a href="http://www.ecobee.com/"&gt;ecobee&lt;/a&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-2485144197014075";
/* 728x90, for DZ feed */
google_ad_slot = "7503958156";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3311422014386111682-4062106389353449724?l=diy-zoning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diy-zoning.blogspot.com/feeds/4062106389353449724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-ecobee.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4062106389353449724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3311422014386111682/posts/default/4062106389353449724'/><link rel='alternate' type='text/html' href='http://diy-zoning.blogspot.com/2009/12/competition-ecobee.html' title='The Competition: ecobee'/><author><name>vt</name><uri>http://www.blogger.com/profile/08540444646429799767</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15333517220264374397'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>