オフィスが暑いのをなんとかした話

**安価なUSB温度計1個で空調戦争が無くなり、能率がとても上がった話**です。
手軽に始められるのでおすすめ。

# 背景
・オフィス内のフロアは2-300人
・全員がPC1台以上＋基本的マルチディスプレイで排熱マシマシ
・**日中の一番暑い時間帯は冬でも30度超えが珍しくない**

# やったこと
1. 安いUSB温度計(時価600円)を購入
1. （許可をとって）USB温度計を自分のWindows PCに挿入
1. 社内チャットに温度通知の専用部屋を作る
1. タスクスケジューラで5分毎に温度を取得し社内チャットに投稿（後述）
1. マイルールを決める（28.5度超えたら温度下げる、など）
1. 操作するときは社内チャットで変更内容を宣言（エリアA、Bを冷房26→25度に変更しました、など）

# やらなかったこと
### 湿度、二酸化炭素濃度などの計測
測定可能なセンサーは値段が高く、
成果が確認される前は投資を抑えたかった。

### 自分の開発PCではなく、ラズパイなどを使う
安価で怪しげなUSB機器を指すのはかなり抵抗があったが、
前述のコストの問題と、何より電源タップの余裕がなかった。

稼働時間が自分の在室している間に限られるが、
定時後は人が減るため気温が下がるため問題なし。

自分が出勤しない時は計測ができないので問題が再発するが、
皆が自身にとっての適温と、空調操作をどう設定すればどう影響する、
というのを認識できていれば空調戦争の発生頻度はそもそも激減する。

### グラフ化
手頃な社内向けWebサーバが無かった。
社外のサーバに、自PCから定期的にログを送り続けるのはNW管理者から変な目で見られそうなので自重。

普段使う分には現在と直近の温度さえ分かれば十分で、リアルタイムでグラフ化する意味はあまり無い。

温度が上がる時間帯や、日毎のばらつきについてはログを手元で集計して発表済み。
天気や外気温、日照量との関連性なども分析すれば面白そうではある。

### 温度計測ポイントを増やしてヒートマップ作成
デバイスそのもののコストと、 関係者が増えることによる調整の面倒さなどから早々に没。

# 実施済みだったこと
### 空調のコンパネに張り紙（冷房は○度以上など）
ある程度の効果はあったと思われるが、我慢できなくなってから設定されるためか
守られないことも多く、**冷房18度や暖房30度などに設定にされたこともあった**。

### 窓空け換気アナウンス
効果はある。
ただし窓際の人は風があたって寒い、窓から離れていると効果が薄い、
建物によっては風切り音がうるさい、そもそも窓が開かないオフィスもある、
などデメリットも多い。

# 結果
・**以前は毎日のように耳にしていた「暑い」というのをほぼ聞かなくなった**。
・**空調の操作をする時、主観ではなく、温度計様に従えばいいので忖度が要らず気が楽**。
・快適になった、という声を何人かから頂いた。
・自分でも明らかに快適になったのは認識できる。
・今のオフィスの場合、空調の操作をしてから室温が変わるまではおよそ10分。
・今のオフィスの場合、平日の業務時間なら室温は冷房の設定温度＋1.25~2.5度になる

## トラブル
Windowsのログインパスワードが変更になるとタスクスケジューラが停止してしまう。
タスクを再設定し直せば動く。
定期パスワード変更ルールがある場合は注意。

# 期待値と定量評価
能率がどのくらい上がるのかを具体的に数字で出すのは難しいですが、
具体的な数字が必要な場合もあるでしょうから、あえてひねり出してみます。

```
日本建築学会は2008年に、神奈川県の電話交換手100人を対象に1年間かけた調査を行った。
室温が25度から1度上がるごとに作業効率が2%ずつ低下し、冷房温度を28度とした場合、
冷房の設定が25度の場合と比べ、軽装のみでは、能率低下で期間中、
オフィス1平方メートルあたり約1万3000円の損失が出るという試算を発表した。
```
とのことなので、1日平均1~2度改善したとして2~4%、
オフィスの島1つ30人、自分の居る島と左右の島までが効果範囲として
人月単価100万円*2~4%*90人で180~360万/月あたりが目安でしょうか。

実際は始業直後と定時後は今までも室温の問題がほぼ無かったり、
逆に30度超の時は1度あたり2%では済まないので目安程度で。


# 買ったもの
Temper Gold
![temper.jpg](https://qiita-image-store.s3.amazonaws.com/0/244191/26bb9e00-3a2a-de5b-e9b9-928c6e9ef372.jpeg)
https://www.amazon.co.jp/dp/B00KCFTQLW/

実売1,000円前後くらい。
湿度、二酸化炭素は取れません。
精度は0.125度単位。
本体のアナログ温度計のようなのは見た目だけです。

# Windowsでタスクスケジューラ設定
1. 計測ソフトのReadTEMPerをダウンロード
http://www.vector.co.jp/soft/winnt/hardware/se503385.html
Windows10は動作環境に書いてないが動く。

1. 解凍して、中の”ReadTEMPer.exe”を適当に配置。下記の例だとcドライブ直下です。
2. ReadTEMPerを実行し、結果をログ出力＋チャット通知するバッチを同じ場所に作成。
以下はMS Teams webhookを使って通知する例。
28.5度以上は通知するチャンネルを分け、そちらのみウォッチしています。

```powershell
cd /d %~dp0
c:\ReadTemper.exe -t >> c:\temper.log & echo; >> c:\temper.log
FOR /F "usebackq" %%t IN (`ReadTemper`) DO SET TEMPERETURE=%%t
IF %TEMPERETURE% GEQ 28.500 (
c:\curl\curl -v -X POST -H "Content-Type: application/json" -d "{\"text\":\"%TEMPERETURE%\"}" https://outlook.office.com/webhook/{高温アラートチャンネルのwebhook}/
)
c:\curl\curl -v -X POST -H "Content-Type: application/json" -d "{\"text\":\"%TEMPERETURE%\"}" https://outlook.office.com/webhook/{通常チャンネルのwebhook}/
```

1. コントロールパネル＞管理ツール＞タスクスケジューラを起動。

1. 操作の「タスクの作成」で、以下を設定。
  - 全般タブ
      - 名前：Temper
      - セキュリティオプション：ユーザがログオンしているかどうかにかかわらず実行する　を選択
  - トリガータブ
      - 新規ボタンを押す
          - タスクの開始：スケジュールに従う
          - 設定：１回（開始時間はデフォルト）
          - 詳細設定：繰り返し間隔：５分間　継続時間：無制限
  - 操作タブ
      - 新規ボタンを押す
          - 操作：プログラムの開始
          - 設定：プログラム/スクリプト：c:\temper.bat

1. 作成したTemperタスクを実行
1. 通知がちゃんと飛んでるのを確認。お疲れ様でした。

# 参考
[980円のUSB温度計を使ってLinuxから室温を計測する](https://www.infiniteloop.co.jp/blog/2012/10/linuxthermometer/)

とりあえず導入編ということで、少ない予算と人員と環境で始められる構成での紹介でした。
成果が確認できたら、改めて専用機や高性能センサーを用意したり、適用範囲を広めて行くのがいいかと。