HTMLとCSSとJavaScriptでレスポンシブなアナログ時計を作る

ハッピーコンピューター R&D担当の白川です。

ウェブサイトにパーツとしてアナログ時計を配置したいときってよくありますよね。えっないですか?そうですか、ないですか・・・

「いや私はあるよ!」という方向けに、今回私がとある案件の中で作成したアナログ時計をこちらで公開いたします。

とにかくすぐに使ってみたい方はこちら

特徴

  • 完全自己完結型(外部依存なし、画像ファイルも不要)
  • すべてベクターデータなので拡大してもギザギザしない
  • HTML/CSS/JavaScriptのコードが簡潔で見やすい(個人の感想です)
  • 再利用・改変自由

秒針ありバージョン

秒針なしバージョン

コードの簡単な説明

JavaScript部分

tick関数で毎秒(毎分)針を進める処理を行っています。

針の傾きを表現する部分はCSSが担っていますが(例: transform: rotate(90deg);で90度傾ける)、そのCSSJavaScriptによって上書き処理することで針を進めています。

JavaScriptnew Date()はクライアント側(Webページを見ている人)基準の日時となりますが、今回の案件ではどの国の人がアクセスしても日本時間で表示させたかったため、new Date(Date.now() + ((new Date().getTimezoneOffset() + (9 * 60)) * 60 * 1000));としてUTC+9時間で固定しました。

CSS部分

アナログ時計の表現のほとんどはCSSで行われています。

時計の文字盤は<div id="clock">すなわち#clockbackgroundSVGデータとして表現しています。これにより別途画像ファイルをどこかに配置する必要がなくなります。SVGデータの作成にはSketchというデザインソフトを用いました。

時計の針は初期位置で12時方向を向いており、針の下部(transform-origin: bottom;)が時計の中心となるようパーセントで針の大きさや位置を調整しています。この調整により、JavaScripttransform = rotate(${minuteDeg}deg);を上書きしたときに針がいい感じに中心を軸に動いてくれます。

JavaScriptとかCSSとかよく分からないけど使ってみたい

CDNのjsDelivrからclock.min.jsを読み込んで使えるようにしているので、下記のようにHTMLを書くだけで、

<div style="width: 20%; margin: auto;">
  <div id="clock" offset="+09:00" second="true"></div>
</div>
<script src="https://cdn.jsdelivr.net/gh/iwnsew/analogclock@1/clock.min.js"></script>

以下のような感じで親要素の幅(今回の場合はwidth: 20%;)に合わせて表示できます。

div要素のid="clock"のみ必須で、offsetsecondのオプションは自由に変えることが可能です。

  • offset: "+05:30"や"-11:00"などの形式で協定世界時 (UTC) からの時差を設定できます。日本時間の場合は"+09:00"。
  • second: "true"にすると秒針あり、"false"にすると秒針なしになります。

オプションをいじって試してみる

注意事項

ミッションクリティカルな場面では使えません。ちゃんとサーバー側の時間を参照しましょう。

clock.min.jsの仕組みが知りたい

clock.min.jsの中身を知りたい方は下記のgithubのレポジトリをご参照ください。

github.com

原理としては必要なHTMLの要素やCSSの記述を全てJavaScriptのコードで行っているだけなのですが、同じWebページの他の部分に影響を及ぼさないような工夫が入っています。

はたらく大人の文化祭って、なんでもありで面白い! MOV市@渋谷

こんにちは、hapicomものづくり担当の伊田です。

先日渋谷ヒカリエの8階にあるCreative Lounge MOVのメンバーが開催する「はたらく大人の文化祭 MOV市」に参加してきました!

mov-ichi.com

会場内はオシャレなガーランドに彩られた開放的な空間でオシャレなクラフトビールや焼き菓子、色とりどりのクッキー生地にアロマと、盛りだくさんの出店の中、私たちのブースではmoodmakerという自社BGMサービスを利用したジュークボックスと、奈良先端科学技術大学院大学のソーシャル・コンピューティング研究室で生まれた研究成果をアプリ化したKOTOBAKARI2(言秤)を使ったボキャブラリ診断の展示をさせていただきました。

MOV市 2024の様子
hapicom展示ブースのmoodmakerとKOTOBAKARI2(言秤)

渋谷ど真ん中でこんなオシャレな雰囲気の文化祭に大阪のおっさんが参加して大丈夫か?・・・とか考えてましたが、参加してみると全然違いました。

本業は美容機器開発なのにお酒の瓶をスピーカーに改造してレコードを鳴らしているマッドサイエンティストがいたり、権力者の気分になれる黄金の便器にまたがれるフォトスポットがあったり、スタートアップを応援したいコワーキングスペースMOVと、オープンイノベーションを推進したいコクヨが開催する、ピッチイベント『登龍モヴ』があったりと・・・。

登竜モヴの様子

『登龍モヴ2024』の詳細についてはこちらの開催レポートをご覧ください。

www.shibuyamov.com

ふざけているのか真面目なのかどっちなんだ?

皆さんとお話ししてMOV市ってなんなんだ?というのが少しわかりました。

共通して口にする言葉は「やってみたい」。

まずはやってみようという熱い思いがこのお祭りを作り上げていました。

Creative Lounge MOVでは日頃から「やってみたい」を実行している人たちが集まっていました。普段はそれぞれの活動をしているけど、みんなで寄ってたかって面白い文化祭をやろうじゃないかとできあがったのがこのMOV市というお祭り。

だから出店している皆さんの顔もとても充実して楽しそうでした。 次はもっと面白いことを「やってみたい」!是非来年のMOV市にお越しください!

黄金の和式便器
お祭りの熱気にあてられて満面の笑みで便器にまたがる私。

【実践レポ】置き配エリアにされがちなメーターボックス内をカメラで監視し倒す #ATOMcam2

システムデザイナーの平田です。

COVID-19が五類化して久しいですが、この間のパラダイムシフトの一つに"置き配の普遍化"を感じています。

「置き配」というものがこれほど社会的に当たり前になりますと"置き配先進国"の欧米のように、置き配カメラも普及してゆくのでしょうね。

今回は"置き配エリア"にされがちな、メーターボックスの中をカメラで監視する方法について取り組んでみたいと思います。

ただ、"設置してみた"だけでなく、今回は私共ならではと云いますか

  • テレビモニターに常時表示させる
  • カメラ内部の録画機能だけでなく、レコーダーで他のカメラと併せて統合管理する

ところまでを目指します^^

置き配カメラを設置するメリット

  • 盗難やいたずらの監視
  • 配達に気付く(気がついたら置き配されているケースがある)
  • 何が配達されたのか確認できる

置き配カメラに求められる要件

今回はメーターボックスへの置き配を考えてみます。

  1. 画角が広いこと (メーターBOX内が狭い為)
  2. Wi-Fiで接続可能であること *1
  3. 赤外線,IRライトが搭載されていること (真っ暗です・・・)
  4. 動きを検知して、何らかの方法で通知が行えること
  5. 最低1週間程度遡って録画を確認できること。
  6. 外部機器(レコーダーやテレビへの収容など)が可能であること
  7. 簡単な方法で、建物を傷つけず設置/撤去が行えること
  8. 安価

で、今回は比較的評判の良いこのカメラに白羽の矢が立ちました。

ATOM Cam 2のメリット

  1. 画角は120°と充分
  2. Wi-Fi対応
  3. 赤外線,IRライト搭載
  4. 動体検知→スマホアプリへ通知可能
  5. microSDHC搭載可能だが、最大32GBの容量ではフルHDでは数日分。イベント録画なら要件を満たすが、連続録画は下記の方法でカバー。
  6. RTSPプロトコル対応*2。AndroidTV用アプリでおなじみの"IPCamViewer Pro"や、NASのレコーダー(QNAP QVR Pro)などで収容を目指す。NASのレコーダーで連続録画を実施
  7. 底面がマグネットであり、鉄の配管や扉に簡単に取り付け可能。また、ユニークなアングル調整機構が優秀。
  8. 驚くほど安価

実はこちら、屋外設置対応(防水)ということで、当社では2年ほど様々なシチュエーションで評価してきています。今回、購入済の評価機を使用して取り付けしていきます。

カメラのセットアップ

屋内で先にセットアップしておきましょう。 スマホアプリをダウンロードして、アプリに表示させたQRコードをカメラに読み込ませてペアリングします。

なお、SDカードも挿入してフォーマットしておきましょう。32GBまでのmicro SDHC対応です。

録画を繰り返すことになりますから、耐久性の高い録画用のものを用意しておきましょう。

取り付け場所

マンションのメーターボックスにとりつけます。*3 スマホなどでちゃんとWi-Fiが届くか予め確認しておきましょう。

給湯器用などに100Vのコンセントがあったりしますので、そこからカメラ電源を取ることができるケースが多いですが、今回は"オール電化"の為、逆にメーターボックスに電源がきていません。給湯器が無い分、広いですけどね・・・

・・・・。

電源を取得する

屋内からLANケーブルを引き、PoE→USB micro給電アダプタを使って給電します。 AC電源に困らない場合は、普通にカメラ付属のACアダプタから給電してください :-)

ATOM CamのUSBポートは専用の純正ケーブルが穴にピッタリ入ることで、防水性を担保する仕組みになっており、直接挿入できるコネクタの大きさが限られるのですが、このアダプタは無事入りました。コネクタサイズに注意しましょう。勿論防水性は無いですが今回はOK。

とりつけました

もうつきました。早い!

今回はメーターBOX内にシェルフラックを置いていますので、シェルフラックにマグネット+タイラップで固定しました。

スマホのアプリで映像を見ながら画角の調整できるので効率が良いです。

アプリで見る

たぶん普通に見ることができますよね、割愛。

他機器連携

ATOM CamはIPアドレスが固定できません。*4

ルーターなどのDHCP払い出しで、MACアドレスに対してIPを固定しておきましょう。

dhcp scope bind 1 <IPアドレス> ethernet <MACアドレス>

また、以下の方法でカメラ側のRTSPプロトコルサポートを有効にしておきます。

astrotourism.jp

TVで見る (AndroidTV)

Android TV搭載のテレビ、またはAndroidTV搭載のドングル*5をお持ちなら、IPCamViewer Proというアプリを購入しておきましょう。

play.google.com

  • カメラの追加時、メーカーは「Generic URL」
  • タイプは「Generic RTSP over UDP」を選択
  • URLは rtsp://<カメラのIPアドレス>/live を指定
  • User/PASSはそれぞれ4桁の数字です。ATOM CAMアプリから確認しましょう

レコーダー(QNAP QVR Pro)に収容する

私達はよく、QNAP社のNASをソリューションとして使用しています。

QVR Proというカメラレコーダー機能がアプリ化されたライセンスが付帯している機種があり、このケースは他のカメラもこちらに収容していますので、今回もこのレコーダーアプリに収容して録画する設定を行っていきます。

www.qnap.com

QVR Proには、下記の設定で収容して一般のセキュリティカメラ同様に録画が可能です。

  • メーカーは「Generic Model」を選択
  • カメラ機種は「Generic RTSP」を選択
  • ポートは80, RTSPポートは554を指定
  • RTSP URLは /live と指定
  • アカウント/パスワードはそれぞれ4桁の数字です。ATOM CAMアプリから確認しましょう

フルHDモードで、概ね1Mbps弱のデータレートです。 これで他のカメラと同様に統合した取扱を行うことができました。

*1:Wi-Fiでこのようなストリーム系の通信を行う場合、APの負荷が高くなり、家庭用のAPではフリーズしやすい傾向があります。法人向けのしっかりしたアクセスポイントでネットワークを構築しておくと良いでしょう。

*2:セキュリティカメラで一般的に用いられるプロトコル。rtsp://〜 のようなURLでアクセスします。ATOM Cam2の最新ファームで対応

*3:一応メーターボックスはマンションの「共用部」です。予めご認識を。

*4: 参考 【ATOM Cam共通】IPアドレスの固定は可能ですか | ATOM Tech(アトムテック)

*5:最近、AndroidTVとGoogleTVという大変紛らわしい2種類のOSがあります。外付ならこういうものを用意しましょう

VPN等で入れない先に納入したネットワーク機器を死活監視する (格安PC+PowerShell編)

Pingを飛ばすPowerShellのイメージ
こんにちは、システムデザイナーの平田です。 画像はAIが考えた「PingWi-Fi APに飛ばすPowerShell」です。PowerShell厳ついですね。パワー感じます。

閑話休題。昨今、5千円程度だったミニコンピュータRaspberry Pi半導体不足のあおりを受け、入手困難であったり、価格が高騰していたりします。

高い・・・

最近1万ちょっとでWindowsPC買えてしまう。特にCeleron N4100番台は以前のATOMベースのCeleronに比べて、大幅に実用的です。

それなら、死活監視+遠隔メンテナンス用ということで、TeamViewerなりをインストールしたPC*1を現地設置しておくのはアリなんですよね。VPN用に穴を開ける必要もありませんし。*2

特に以下のようなメッシュWi-Fiで構成されたネットワークは、設置後しばらくの間、通信品質の確認が肝要です。

blog.hapicom.jp

という訳で、PowerShellで以下のようなものを作っていきます。

有料部分では実際のコードがご覧いただけます(商用利用可)

ping死活監視

  • タスクスケジューラーで起動時に常駐的に実行
  • 指定した宛先に、5秒ごとに5回pingを飛ばす。これを1セットとする
  • 5セット到達しなければ、ログファイルに断検知を記録し、指定した宛先にメールを送信
  • 断検知後、5セット回復すれば、ログファイルに復帰検知を記録し、指定した宛先にメールを送信
  • ライブラリなどの依存なく、OSの標準機能のみで行いたい。最近メール送信も可能なPowerShellで作る

ExPingのログローテーション

  • ExPingは指定フォルダにpingのログを貯めることができます
  • pingの死活だけでなく、応答速度(ms)を一定期間記録することで、無線区間の品質の測定に
  • ファイル名は固定。"EX<西暦下2桁><月><日>.LOG" となります。(西暦処理の一手間あり)
  • 1日のログが数MB程度発生→bzip2圧縮で数百KBに。前日までのログはbzip2圧縮
  • 前月までのログは "YYYY-mm" という名のフォルダへ移動
  • 13ヶ月以上前のログは、フォルダごと消去
  • こちらもPowerShellはbzip2圧縮に標準で対応しているので、特に追加で何かのインストール不要。

*1:無料版などでなく有償版の簡易アクセスなどを使うなど、乗っ取りやボット化しない為のセキュリティ対策を講じましょう

*2:お客さま了承は得ましょう

この続きを読むには
購入して全文を読む

年中無休の飲食店に始業前の2時間でWi-Fiを敷設する #メッシュWi-Fi編

レストランのメッシュWi-Fi (イメージ)

こんにちは。既に年末進行の皆様もいらっしゃることでしょう。 ご多分に漏れず、私もその一人です。システムデザイナーの平田です。

システムデザイナーとは何ぞやと自問自答するほど、インフラ系、ネットワーク系の案件が最近多いです。今回はその中から、「メッシュWi-Fi」の事例を一つ。

昨今、スマホやPCだけでなく、なんでもかんでもWi-Fiです。 レストランでオーダーをポチポチ打つ、所謂「オーダー端末」などもWi-Fi化しています。

そうなると、開店当初には全く想定していなかった "全席Wi-Fiでカバー"といったニーズが発生してきます。

通信量は多くないのですが、確実に全エリアをカバーしようとすると、アクセスポイントを1~2台置いた程度では難しいケースも散見されます。

このような時、通常はこうします。

有線LANで構成されたWi-Fi APクラスタ

アクセスポイントの間をLANで接続し、電源の供給もLAN経由で行う構成です。

大体、天井裏に来ている100V線は照明のラインで、常時給電されていないことや、アクセスポイントの再起動(電源の抜き差し)が大元のPoEハブでのLANケーブルの抜き差しで可能であることから、このような構成を採ります。

しかし、今回のミッションはこんなかんじ。

  • 店舗は年中無休
  • 遅い日は朝5時まで営業
  • 開店前の朝9時~朝11時の2時間でサクッと工事

ただ、年中無休の店舗で、開店前の2時間ぐらいしか工事時間が取れない店舗があり、今回 "メッシュWi-Fi" と呼ばれる、アクセスポイント間の接続(バックホール)を無線で接続する構成を採りました。

無線で構成されたWi-Fi APクラスタ

メッシュWi-Fiと従来の中継機の違い

一時、Wi-Fiの「中継機」と呼ばれる機器が出ていました。しかし、以下のデメリットからほぼ利用することはありませんでした。

  • 中継機自体が、親機に端末としてぶら下がる為通信効率が悪い
  • 複数のSSIDを中継できない(ゲスト用, 業務用など)
  • 親機の設定を変更した時、中継機の設定も変更する必要がある
  • 適切なローミングが行われず、場所によっては中継機でなく親機の弱いWi-Fiにつながってしまう
  • 子機にさらに子機を無線でぶら下げる「多段接続」ができない

特に最後の多段接続については致命的で、元々エリアを広げる為のものなのですが、親機+子機1台ぐらいしか接続できません。 一方メッシュWi-Fiは以下のようなメリットがあります。

  • 子機のバックホールは端末とは別の専用の無線で接続され、通信効率が良い
  • バックホールが分離されているので、複数のSSIDを中継可能
  • 全ての機器が統合され動作するので、設定変更も親機のみで子機に伝搬。ローミング対応。
  • 子機間も連携し、親機以外の子機経由でも最適な通信経路でバックホール接続される(多段接続対応)
  • 一応、規格化(EashMesh)されており、異機種、異メーカー間でも使用可能 *1
  • バックホールは無線LANでも有線LANでも可能

そうです、業務用のクラスターAP(Aruba IAP)などは元々こんなでしたよね。(でした) SOHO/家庭用に降りてきたのが"メッシュWi-Fi"と呼ばれて、家電量販店の店頭に並んでいる感じです。

さて、ここで実際の施工の様子を見てみましょう。

実際の施工の様子

メッシュWi-Fiはコンセントから電源を取る必要があります。 また、店舗での設置の為、床に転がしておくわけにいきません。壁面に取り付けます。

今回は、下記の機器を選定しました。

  • 付属電源コードが長い(2m)
  • ACアダプタがコンパクトで端子一体型
  • 壁面に取り付ける為のマウンタが入手可能
  • 9台までのメッシュ構成が可能。多段(2段)まで接続可能

全体の構成は次の通りです。

<全体構成>

メッシュAP子機(1台目)
メッシュAP子機(2台目)

ペアリングは事前に親機と有線LANで挿して起動するだけです。 実際のとりつけは、電源に挿して壁に取り付けるだけですね。

親機ですが、このような構成を採る場合、通信品質を担保する重要な役割になりますので 回線が来ている場所から少し、ホール側へLANを延長して出してやりました。

メッシュAP親機(マスター)

通信品質

一番APから遠い場所での通信速度はこのような形でした。

速度測定(一番親機から遠い場所, 子機経由)

有線LANを敷設するとなると、敷設だけで2-3時間は見ておいた方が良いでしょう。 朝5時~11時の間でのお客さま立ち会いか、お店の営業時間を変更してとなりますので 投資対効果として、メッシュWi-Fiはその真価を充分に発揮したケースになりました。

というか、他の選択肢がなかなか無いケースでした。

さらに品質を高める為に

店舗内に遠隔操作(TeamViewer)で操作可能なWindowsPCを設置し、pingにより品質監視を行います。

・一定時間pingが切れた場合、また復帰した場合メールで通知 *2 ・施工後、数ヶ月pingで常時監視し、通信品質をチェック *3

これらの方法については以下。

blog.hapicom.jp

また、子機側でバックホールを2.4Ghz/5Ghzの切り替えが可能である為、上記の監視データを元にチューニングしていきます。

総括

従来、このようなケースは早朝や深夜工事として、お客さまや施工班に大きな負担のあるケースでした。 ゲストの方向けのWi-Fiなど、通信量の多いケースには向きませんが、一旦メッシュWi-Fiバックホールを無線)で展開し、支障があればバックホールも有線化できる形でひとまず導入していただける形を採れるメリットは大きいです。

なお、当社ではビルやモール、ホテルや工場などの全館Wi-Fi構築の実績があり、また、大きな規模だけでなく、フランチャイズやチェーン店様などで、Wi-Fiを一元的に管理、運用する多拠点への一括導入も手掛けております。

ネットワークでお困りの方はぜひお声掛けいただけましたらと。

*1:メッシュを構成可能な台数や、多段接続の段数は製品により大きく異なります。設計の段階でマニュアル等で充分に確認が必要です

*2:AX1800はメッシュ子機側のIPアドレスDHCP取得しかできません。ルータ等で固定払出が必要です

*3:子機の電波強度も子機本体LED表示でのみの確認になります。従い、今回pingによる品質監視を実施します

【アドオン開発者による解説】Googleフォームに回答があったときにサンキューメールを自動返信する無料アドオンを作りました

こんにちは、ハッピーコンピューターの白川です。

Googleフォーム、無料でお問い合わせとか参加者の把握とかに使えて便利ですよね。

ところで、Googleフォームで回答を入力してくれた人に自動で確認とお礼のメール(いわゆるサンキューメールというやつ)を送るようにしたいけど、デフォルトでは「回答のコピーを回答者に送信」しかできなくて、もどかしい気持ちになったことはありませんか?

ハッピーコンピューターでも時々そのような場面に遭遇することがあり、かつてはGoogle Apps Script (GAS) を使ってJavaScriptのコードを書いてサンキューメールを実装していた時期もありましたが、顧客側で文面を自由に変えられないなど運用面でいろいろと面倒な部分がありました。

ということで、メール通知機能をGoogleフォームに付加するだけのシンプルなアドオンを作って公開しました。

workspace.google.com

実際にアドオンとして公開したのは何年か前なのですが、知らない間に利用者が2万人ぐらいになっていてアドオンに関するお問い合わせも増えてきたので、このアドオンの特徴やインストール方法、使い方について本記事で紹介します。

メール通知アドオンの特徴

以下のような特徴があります。シンプルではありますが必要十分な機能は有していると思います。

  • 回答通知メール: 回答通知機能をオンにすると、回答の登録があるたびにメールで通知されます。
  • 自動返信メール: 自動返信機能をオンにすると、回答者にサンキューメールを自動で送信します。
  • 件名や本文を編集可能: それぞれのメールの件名や本文を自由に記述できます。
  • 文中に変数を利用可能: 回答結果やインクリメンタルIDなど、回答ごとに変化する要素を二重波括弧 {{ }} で囲うことで文中に埋め込めます。
  • 一切の制約なし: 1日の送信数上限が極端に少なかったり文末に広告を付加されたりすることはありません。

メール通知アドオンのインストール方法

Googleフォームの編集画面(どのフォームでも構いません)の右上にある設定を開いて「アドオンを取得」をクリックします。

Google Workspace Marketplaceの画面が開きますので「メール通知」で検索し、アドオンを選択します。

「インストール」をクリックしてアドオンをインストールします。

「続行」をクリックします。

Googleログインのダイアログ(同意画面)が開きますので、アドオンを使用したいアカウントを選択します。もしここでエラーになる場合はこちらをご覧ください。

回答があったときにメールを自動送信するための権限を許可します。

許可ボタンを押すとインストールが行われます。しばらくすると下記のようにインストールが完了します。

メール通知アドオンの使い方

メール通知アドオンには回答通知(回答があったことを特定の宛先に知らせる機能)と自動返信(回答者に確認やお礼のメールを送る機能)の2種類のメールを送る機能がありますが、以下では自動返信について説明します。

自動返信の場合は回答者のメールアドレスが必要ですので、フォームの設定でメールアドレスを収集するよう設定しておきます。Googleアカウントを持っていない人でも回答できるよう「回答者からの入力」を選択します。

その後、上部のアドオン設定を開き、「メール通知」をクリックします。

「通知設定」をクリックします。

すると、右下のほうに通知設定のパネルが表示されます。もしパネル内に設定が現れずエラーになる場合はこちらをご覧ください。

自動返信にチェックを入れ、件名や本文を作成します。テキストには以下の変数が使用可能です(最初の二重波括弧 {{ を入力すると入力補完で候補が出てきます)。

  • {{質問名}}→この質問に対する回答を表示
  • {{[全ての質問と回答]}}→質問名と回答の組を1行ずつ全て表示
  • {{[メールアドレス]}}→回答者のメールアドレスを表示
  • {{[インクリメンタルID]}}→回答が送信されるごとに1ずつ増加する数字を表示

件名と本文を設定したら「設定を保存」をクリックします。「保存しました」と表示されれば設定完了です。

試しにフォームに回答してみると、以下のようなメールが回答者に送られます。

設定保存時の注意事項

回答通知や自動返信はフォームではなくアカウントごとに設定されます。

そのため、一つのフォームを複数のアカウントで共同編集する場合は、代表となるGoogleアカウント(これが送信元メールアドレスとなります)でのみ送信設定を保存するようにしてください。

もし他のアカウントで設定を保存した場合、それぞれのアカウントを送信元として複数のメールが送信されてしまいます。

うっかり別のアカウントで設定を保存してしまった場合は、回答通知や自動返信のチェックを外した状態で再度設定を保存してから、代表となるアカウントで設定を保存するようにしてください。

インストールや通知設定時にエラーになる場合

Googleのアドオンは、複数のアカウントでログインしているとエラーが発生するという不具合があり、2017年にGoogle Issue Trackerで不具合が報告されてから6年ほど経過した2023年現在においても問題が解決されておらず、アドオン開発者の間ではGoogleの未解決問題として認知されています。

細かい経緯はさておき、この問題をとりあえず回避する方法としては以下の方法があります。

  • 一度全てのGoogleアカウントからログアウトし、アドオンを使いたいアカウントで最初にログインする(複数アカウントでログインしていても、最初にログインしたアカウントではエラーが発生しないようです)
  • シークレットウインドウ(プライベートウインドウ)を開き、アドオンを使いたいアカウントでログインする
  • アドオンを操作するとき用に別のウェブブラウザを使う

自動でメールが送信されない場合

うっかり権限を外してしまうなど何らかの理由によりアドオンに権限が付与されていない状態になると、回答時の自動メール送信が行われません。

きちんと権限が付与されているかどうか確認したい場合、Googleアカウントのサードパーティ製のアプリとサービスにアクセスすることで、「メール通知」に「ユーザー本人に代わってのメールの送信」を含むいくつかの権限をアドオンに付与できているか確認できます。

管理者によるインストールのバグについて

有料のGoogle Workspaceをご利用の方は、アドオンのインストールページで「管理者によるインストール」と「個別インストール」の二種類が表示されることがありますが、必ず個別インストールを行ってください。

管理者によるインストールを行うと、自動メール送信に必要な権限の付与が行われません(サードパーティ製のアプリとサービスに「メール通知」がないにも関わらず同意画面が表示されないバグ)。

個別インストールを行い、同意画面でアプリに権限を付与するようお願いします。

もし間違って管理者によるインストールを行ってしまった場合、Google管理コンソールに管理者アカウントでログインし、ドメインのインストール済みのアプリから「メール通知」を削除してから、改めて個別インストールを行ってください。

その他

  • メール通知アドオン 公式ページ: 利用規約やプライバシーポリシーなどを記載しています。

  • Textcomplete: テキストの変数部分の入力補完に利用しています。文面を作るときに変数部分を直書きさせるのは非エンジニアにはハードルが高いため、このライブラリがあって助かっています。