Showing posts with label user interface. Show all posts
Showing posts with label user interface. Show all posts

Thursday, January 28, 2010

DZ 3.4.1 "Scheduler-Console" Release Is Out

Changes since 3.4

  • Current period is now displayed at the console;
  • If the settings for a zone were altered against those specified for the period, a visible mark appears;
  • Pressing 'S' will make the system follow the schedule again.

Configuration Changes Necessary

Scheduler bean needs to be injected into the console bean, just like other elements - see configuration guide for details.

A telltale sign that you forgot to do that would be absence of period information displayed despite scheduler working normally (can be verified by logs and charts generated).

Tuesday, December 15, 2009

DZ 3.3 "Interface" Release Is Out

How To Activate The Interface


This is the configuration snippet that makes it happen:
<bean id="console"
class="net.sf.dz3.view.swing.Console"
init-method="show">
<constructor-arg index="0" type="java.util.Set">
<set>
<ref bean="(your-thermostats-here)" />
</set>
</constructor-arg>
</bean>

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.

How To Make Sense Out Of It

DIY Zoning Console

There's quite a few things that you see there.
  • There are six zones configured;
  • You're looking at the leftmost;
  • The name of this zone is "Bedroom"
  • Current temperature is 19.6°C - it'll be too cold if it was in Fahrenheit;
  • Setpoint is 20°C;
  • This zone is configured in heating mode - setpoint font is red;
  • 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;
  • 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;
  • Second and third zones from the left are also on hold (orange vertical stripe);
  • Second and third zones from the left are not only on hold, but are also off (bar icons are not green but gray);
  • Fourth from the left zone is not voting, just like the first;
  • Fourth from the left zone is outside of tolerance, a.k.a. "calling" (the bar is yellow, not green);
  • Rightmost zone's sensor is faulty (the bar on top is dark red).
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.

Fair warning: the background behavior will change in future releases, don't get used to it too much.

How To Control It

The only way to control the application at this time is with keyboard shortcuts:
  • Left/Right arrows change the currently selected zone;
  • Up/Down arrows change the setpoint for the currently selected zone;
  • H puts the zone on hold or takes it off it;
  • V toggles voting status;
  • O toggles the zone on and off;
  • C and F toggle display between Celsius and Fahrenheit for all zones.

What Is "Voting"?

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 dump zone.

Look At The Bars Again

DIY Zoning Console
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.

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.

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.

Credits

Silk icon set by Mark James was used in this release.

Friday, December 4, 2009

Early Access: Swing GUI Back From The Dead

Subversion contains code for extremely ugly GUI that is able to do one thing: display current and setpoint temperature for all configured zones, and change color depending on whether DZ is configured for cooling and heating mode and whether the zone is calling.

Ugly or not, it sure beats using JMX to see the current temperature and setpoints.

Here's a configuration snippet that makes this happen:

<bean id="console" class="net.sf.dz3.view.swing.Console"
init-method="show">
<constructor-arg index="0" type="java.util.Set">
<set>
<ref bean="thermostat-6500000055FF1A26" />
<ref bean="thermostat-0500080021C9B810" />
</set>
</constructor-arg>
</bean>
Not just thermostats may be added, but any DZ objects - if they can't be displayed, they will be simply ignored with an error message in the log.

Next Step

Providing controls to change the setpoint, of course. Working on it.

Thursday, November 19, 2009

DZ3 FAQ: Everything in Celsius?

Q: Why is everything in C°?
A: To avoid a disaster like this.

Q: Will I be able to specify setpoints and see display and monitoring data in F°?
A: Yes, the user interface will take care of this. Default units will be determined by where you are, you're likely to never notice anything.

Wednesday, November 19, 2008

Pulse, Reloaded

Once upon a time, there was an overheating video card. It begat the Pulse project, the hardware health monitor. Later, overheating house begat DIY Zoning, and since its inception, Pulse started to wither away into oblivion - a few years later I marked its status on SourceForge as "inactive", and today, there's not even a web page for it.

However, recent emergence of Android changed a lot. For a long time, lack of hardware support for DZ was a showstopper - nobody wants a zoning system that needs a computer in order to operate it. Smartphone, however, is a completely different deal.

Almost exactly a year ago I started planning for it. A month ago, I got my hands on the hardware. Today, I can say with confidence that G1 can deliver, and it does make sense to implement a control system with a mobile interface based on Android platform.

One of the lessons of DIY Zoning development was that it is a bad idea to have a monolithic system - I had to split it up three or four times before I was happy with the distributed features of the whole system. Not to repeat the same mistake, the application will be more generic than just a zoning system controller.

Hence, hereby the relaunch of the Pulse project is announced.

It'll be a short while before the feature set is established, the project site is again complete with content, and version control system will have the code - I just don't want to release half-baked barely functioning code prematurely, it is still in the works. It's just that privately expressed interest towards the project exceeded the critical mass recently, and I thought you folks would like to know what I'm working on.

Stay tuned.

Sunday, December 23, 2007