Changes since 3.4.1
- It is now possible to use Google Calendar as a source for your thermostat schedule;
- Schedule Updater API is now available, you can integrate DZ's schedule with any other schedule source for which API is available.
Why "Deja Vu"?This release concludes the "reboot" of DZ code base, started on October 14 2009 (read DZ3 Seeded for more details). Functionality of DZ3 today is more or less the same as it was at 0.1p7dev3 (that's September 2004 all right), but with quite a few distinctive differences that can be briefly summarized as:
- Improved usability;
- Improved stability;
- Improved documentation.
- DZ3 is rock solid. Unlike DZ2 where bugfixes were mostly afterthoughts, every questionable piece of code is wrapped into test cases, and whenever there is a problem, more test cases are written to pinpoint it;
- Reliability has gone up, footprint has gone down. DZ3 runs with JVM heap restricted to four megabytes of RAM, with uptimes measured in weeks - and that is only because the development is happening at such a pace that it is worth to upgrade and restart;
- DZ1 architecture grew out of monolithic proprietary code that was never published, DZ2 architecture was never finished, DZ3 architecture is everything DZ2 ever wanted to be - on top of almost ten years of experience not only with DZ, but with a lot of other things related and not so related to it;
- DZ3 code base is transparent to instrumentation. You can chart any data point in between, and see and control all live components via JMX;
- Thanks to instrumentation that is now available, DZ3 is free from resource leaks;
- Initial configuration that was always a pain in DZ2 is now documented. Proprietary XML configuration was replaced with Spring IoC Container and looks now like LEGO for adults;
- User Interface now actually passes "a moron in a hurry" certification and is usable by mere mortals, unlike the Sci-Fi contraption of DZ2;
- Editable and persistent schedule is available, at long last.
What's Next?To put it simply,
- Further scaling down of hardware requirements;
- Further optimization and reducing the load on DZ3 host device;
- Web integration;
- Mobile device integration.