Ecolife情報

家庭の省エネ診断

 家庭の省エネを進めていくにあたっては、個別の家庭の事情にあった提案ができるようになったらいいと、診断ソフトの開発を進めてきました。事業ベースで進んでいるものもあり、その時々の要望に応じて進展をしていますが、いずれはすべて社会的資産として公開していけたらと考えています。

 もともと環境家計簿の評価システムの設計をするときから、対策提案を含めたシステムを構築できないのか検討をしてきました。環境家計簿の通信簿作成はEXCELを利用していますが、1999年頃からインターネットでの診断との共通化をめざして、C++を使った診断モジュールの作成を試みてきました。ただ、それほど需要もなかったため、そのまま放置してきたものです。

 最近になって、省エネ診断の要望が多くなり、開発もその場しのぎで進めています。今までの省エネ診断の考え方と、成果物について、整理してみました。

EXCELによる省エネ診断(D1)

 最初に導入した方法です。マクロを使用して、診断結果を印刷して出力することが可能です。記入シートは別途紙で用意する形になります。

 EXCELの問題は、複数のシートに分けて計算式が記載されるほか、計算式がセルをクリックしないと表示されないことから、バグ取りと、メンテナンスが困難なところです。あまり複雑な仕組みを導入することができず、個別の対策の評価を列挙するにとどまっています。

  • 2003年12月 調査をしながら、診断プログラム作り
  • 2004〜2005年度  京都府地球温暖化防止活動推進センター事業
    • 統一調査フォーマットの作成
    • エネルギー消費量の標準比較と、CO2削減提案のリスト表示
  • 2006年6月  メールによる無料省エネ診断を実施
    • 導入費用がかかるが元が取れる対策、元が取れない対策に分けて提示

PHPによるサーバーサイド省エネ診断(D2)

PHP省エネ診断。

 「インターネットでも診断を!」という世間の声は少なかったのですが、個人的な趣味で作成を進めてきました。Javaはしんどそうだし、Perlは先がなさそうだし(失礼)、とりあえず手頃で始められるPHPで開発を進めてみました。言語がどれがいいかという問題よりは、ロジックをどうすればいいのかという問題のほうが大きかったです。

 デザインは後回しで進めてきましたので、非常にシンプルです。なお、診断するには「質問」「分野」「対策」「技術」が非常に深く関連しており、オブジェクトの関連を十分整理しきれていません。ただ、対策や表示ロジックを切り分けることにより、多国語(他地域)でも、データセットを入れ替えることで対応できるように設計しています。

  • 2007年2月 開発着手
  • 2007年5月 ほぼ実用的なレベルで提供

家庭の省エネ診断PHP版開発

JavaScriptによるローカルPC環境での省エネ診断(家庭版ESCO:D3)

家庭省エネ診断JS版。

 2007年度で、滋賀県で実施した事業です。JavaScriptなのでソースが見えるのは当然ですので、必要があるのかわかりませんが、GPL3で公開をしています。

 ローカル環境で動くソフトを何で開発するのか悩みました。EXCELベースが素直なのでしょうが、EXCELを購入しないと動かないことになるのと、将来的メンテナンスが大変そうなので却下。VCなどもあるのでしょうが、これもMicrosoft環境に依存してしまうので、できれば避けたいなあと感じたところです。将来的にWebでも診断ができるようにと考えたなら、やはりJavaScriptだろうということで、がんばって作成してみました。

 一つの難点は、「診断結果を保存できたらいい」という要望でして、これはJavaScriptではタブーの話です。ただ、TiddlyWIKIという重箱の隅をつついて保存ができる仕組みのソフトもあり、技術的には大丈夫だろうと、JavaScriptに決めてしまったものです。これが後々、大きなトラブルを生むことになりました。 →(2016/10)滋賀県の事業が終了して数年たってから、ようやくブラウザ側でのデータ保存を確実に行える仕組み(localStorage)などが実装されるようになり、実用的になってきました。

 保存をしないようにしたら、システムに依存しなくて画期的な開発ベースなんですけれどもね。IEでもFirefoxでもOperaでもそれなりに動き、古いパソコンでもそれほど負担なく動き、なかなかいいソフトだと思います。→(2016/10)世の中の流れで古いOSやブラウザ(IE6~8)のサポートは打ち切られてきており、それはそれで開発しやすくなっています。あえて1ファイルでのソフトにこだわり続けているのですが、インターネットに接続できない環境で診断したり、HTMLをそのままスマホアプリ化したりもでき、現在でも開発デザインとしては面白いと思います。もちろん、ソースコードはそれなりにメンテナンスが大変ですが。

 JavaScriptのパーツはどんどん整備されてきていますので、いろいろ可能性が広がります。入力するたびに結果が表示されるなど、使いやすいソフトに展開させていくことは可能かと思います。

 個別の対策リストを表示させるだけではなく、最適な組合せを計算して表示するルーチンも入っています。これは他のソフトにも適用できたらいいかと考えています。

 また、最新のエアコン・冷蔵庫の機器リストがあり、具体的に購入する機種を指定した診断もできるようになっています。

  • 2007年10月 滋賀家庭版ESCO事業用として配布版作成
    • その後何度も改修。致命的エラーも何度も発生。
  • 2008年4月 家庭版ESCO事業のものとは別に、公開版を作成
  • 2016年6月 スマホアプリ化

Flash+mProjector版(うちエコ診断:D4)

うちエコ診断

 次の年(2008年度)になって、使い勝手を向上させたソフトを作ってくれという要望が出てきました。兵庫県をエリアに、開発を進めることになったのですが、また悩んだのが「どの言語を使うか」です。昨年のJavaScriptは、非公認の呼出を使っているので、いずれブラウザ側で制約がかけられる可能性も高く、できれば別の環境を使いたいと考えました。

 ちょうど開発環境として出てきたのが、AdobeのAIRで、HTML+Javascriptをローカル環境で動くソフトとして、ファイルアクセスにも正式に対応し、Flashとも組合せができます。実際に昨年作成したJavaScript版をAIRでコンパイルしてみると、見事にそのまま動きだし、これはすごいとびっくりしたものです。

 ただ共同開発者(Mac)が、AIRを開発するMac環境がないということで、別の環境を探さなくてはいけなくなりました。いっしょに本屋に行って探したところ、出てきたのがmProjectorというわけです。Flash(ActionScript2)をローカル環境で動くソフトに変換できるというもので、こちらもファイル保存等に対応させることが謳われています。→2016年現在では、mProjectorのサポートサイト自体が閉鎖されています。

 ただ開発も単純ではなく、mProjectorにかけるとフリーズする状態が続き(onEnterFlame?内で、linetoを実行しているとフリーズするようです)、それを避けるように開発を進めたり、そもそもmacのFlash担当者側はmProjectorが動かず、私が新しいバージョンのFlashを購入して最終的にコンパイルするという非対称開発環境の中で、どうにか納期に間に合わせることができました。

 JavaScript版では、家電製品など対策項目が限られていましたが、今回は100項目以上の対策が列挙できるようになっており、家庭全般の対策を検討できるようになっています。また複数の対策をしたときの割引も考慮して計算できるようになっており、結果がより精緻なものとして示されます。

 まあなんといっても、特徴はその見栄えにあります。遊んでいても、動きがあるとやっぱり楽しいですね。

  • 2008年10月 省エネアドバイザー講習会受講者向けに配布
  • 2009年度 兵庫県で継続実施
  • 2010年度 全国地球温暖化防止活動推進センター(JCCCA)を通じて複数の都道府県で実施
  • 2010年6月 派生版としてうちエコキッズ http://www.uchi-eco.com/index.php?mode=kids 公開
  • 2010年9月 うちエコ診断Webサイト http://www.uchi-eco.com が開設(派生版としてWEB版診断作成)
  • 2011-2013年度 環境省の家庭エコ診断推進基盤整備事業、これと別にIGES版(WEB,KIDS)を継続
  • 2013年 ロジック検証WGで、ロジック全般について専門家チェックを受ける
  • 2014年度~ うちエコ診断士制度

共通プラットホーム化(D5)

 うちエコ診断はのべ5000時間以上開発にかけていることもあり、細かいところまで作り込めています。しかし、基本コードを作成したのは1000時間程度、そのほかの大部分の時間は、「なぜ動くのか」「なぜ動かないのか」「どのソースコードが関係しているのか」をひたすら探しながら、試行錯誤コンパイルを繰り返していた感じです。IGES、環境省、都道府県の地球温暖化防止活動推進センターのみなさんの温かい目がなければ、続けられるようなものではなかったと思います。

 省エネ効果を計算する方法としては、うちエコ診断はかなり完成されています。ただし、それをソースコードとして記述するにあたっては、クラスごとの役割が複雑で、見通しがだいぶ悪くなっています。特に温水暖房など、給湯と暖房をまたがるような対策を扱うことで、当初想定していた整理では扱いきれず、例外処理コードを重ねています。

 海外にも展開していくにあたっては、各地域の事情に合わせてソースコードの維持管理をしやすくする必要があります。そこで、共通プラットホームと、地域・言語依存部分を切り分けた形で、共通プラットホームの作成を2011年度から試みました。うちエコ診断ソフトとは異なり、1からソースコードを作り直して作成したのが開発コードD5です。国際化を視野にいれて、D2と同じPHPを採用しました(後に、ActionScript3 も並行開発をしています)。

 対策項目や入力項目の設定はEXCELファイルで管理をしており、ロジックは直接消費クラスごとに記述するようにしています。大部分の機能をプラットホーム側に持たせたため、個別対策のソースコード記述量は10分の1以下で済むようになっており、見通しはよくなっています。

再度Javascriptへ(D6)

うちエコ診断

 JavaScriptで開発をした場合には、ソースコードが全て閲覧できてしまうために、業務として販売していくことはなかなか難しい面はあります。けれども、HTML5が整備され、スマホでも動くようになり、JavaScriptで開発することのメリットは徐々に大きくなってきてたため、思い切ってD5をJavaScriptで作りなおす作業を始めました。

 開発を進めているとJavaScriptのクラス継承が独特で、むしろJavaScriptらしく作り上げるほうが診断プラットホーム作成に適していることがわかり、新たに2015年からD6として別に開発を行いました。

 事業者向けの省エネ診断ソフトは、家庭向けとは別に2014年度から兵庫県向けに作成をしてきたのですが、そのロジックをD6にも試しに反映させてみました。プラットホームとして、見通しがよくなっていることもあり、比較的簡単に事業者向け診断ソフトも開発することができました。

 多言語対応を視野に入れているのですが、いまのところはGoogle翻訳さんにお世話になっております。言語対応だけでなく、地域(国)ごとの機器や質問項目の精査が必要であり、正式に活用していくためには、各地域の方といっしょに作っていく必要があります。

 


  編集 凍結 差分 添付 複製 名前変更   新規   最終更新のRSS
Last-modified: 2017-05-02 (火) 09:44:00 (22d), by 有限会社ひのでやエコライフ研究所