Sympapaのスマートホーム日記

スマートなんとかはスマートじゃない方法でつくられている

壊れた赤外線リモコンにご用心

ご無沙汰のSympapaです。
家を建てる計画が本格的にスタートしたら超絶忙しくなり、Home Assistantもこのブログもすっかり放置プレイという今日この頃です(汗
コメントにも返信しておらず申し訳ありませんm(__)m
しかし新築するなら超スマートなホームにしようなんてことを妄想をしていましたが、ご予算的にも昨今の日本の新築住宅を取り巻く環境的にもスマートホーム化はなかなか厳しいなぁと思っており、ブログに書きたいネタ(愚痴!?)は山ほどあるのですが時間が無い。。。
そんな中、今の家の照明周りでちょっとしたトラブルが起きたので久々に筆を執ることにしました。


昨晩は22時くらいに寝てしまったのですが、朝起きてスマホを確認すると嫁様から夜中に「ダイニングの照明がどうやっても消えん~」というLINEが入ってました。
我が家のダイニングに設置されている照明は赤外線リモコンが付いたシーリングライトですが、何故か壁スイッチが無いので元電源を落とせないんですよね。
確認するとダイニングのシーリングライトのカバーが外され電源のケーブルが引っこ抜かれていました。嫁様にそんなスキルがあったのには驚きましたが(笑)


ダイニングにはNature Remoを設置していてGoogle HomeやHome Assistantのダッシュボードからも照明を操作できるようにしています。
電源のケーブルを繋いで試してみたところ、嫁様の言うとおりNature Remoからもシーリングライト付属のリモコンからも操作ができません。
「シーリングライト本体側のリモコン信号受光部周りが壊れたかな?」
色々と試したところ、リモコンをシーリングライトの受光部に数cmくらいまで近づけると操作を受け付けてくれる場合があることが判りました。
しかし受光部に近づけても安定して操作を受け付けてくれるわけではないし、10cmも離すと全くダメみたいです。
しかし、何回か電源ケーブルを抜いては試してはを繰り返し30分くらい格闘している内に何故か直ってしまいました。
「なんでだ?まぁまたすぐに調子悪くなりそうだけど様子見するか。。。」


しかし数時間後。。。奥様が今度は「ダイニングのテレビが点かない」と訴えてきました。
「えぇぇぇぇ!?」
試してみると、Nature Remoからもテレビのリモコン(※テレビの純正リモコンは壊れたので使っているのは1000円で買える互換リモコン)からもテレビの電源を入れることができません。
テレビはSONY製の2016年製です。過去にSONYのテレビはあまり長持ちしたことが無いので、真っ先に「ソニータイマー来たー(><」って思いました(汗
テレビ本体についた電源ボタンを押してみると電源は入りましたが、リモコン操作を受け付けた時に光るランプが点滅しまくりで"データボタン(dボタン)"を押した時に表示される画面に入ったり出たりを鬼のように繰り返しています。
「うーむ。さすがにシーリングライトとテレビの不調が同時にやってくるって変だな。」


考えること数秒。。。ピーンと来ました。
まず、テレビのリモコンの電池を抜いてみたところテレビの誤動作が止まりNature Remoからテレビを正常に操作できるようになりました。
そして、再びテレビのリモコンに電池を入れるとテレビは誤動作し、テレビのリモコンをシーリングライトに向けるとさっき復活したシーリングライトは再びNature Remoからもシーリングライト付属のリモコンからも操作できなくなりました。
どうやらテレビのリモコンが壊れて"データボタン(dボタン)"の信号が勝手に連射されている状態となっており、それによってシーリングライトのリモコン信号が妨害されていたようです。


そんなワケで、危うくシーリングライトもテレビも買い替えてしまったかもしれない出来事が起き、結果的には1000円のテレビの互換リモコンを懲りずに再びポチったというお話でした。
久々の投稿なのにしょうもないお話でしたがそれでは。

Home Assistant: Integrationを自動で再読み込みする方法

Sympapaです。

ロボット掃除機: Ecovacs Deebot X1 OMNIを購入しカスタムインテグレーション:Deebot-4-Home-Assistantを使ってHome Assistantとの連携をしたのですが、Home Assistantが起動してから数時間経つとDeebotのステータスがHome Assistant上で更新されなくなる問題が起きています。環境依存のようで原因を探っているところですが、現状でもIntegrationの再読み込みをするとまた数時間はステータスを正常に取得し更新してくれます。
なので数時間起きにIntegrationの再読みを自動で行えば一時しのぎの解決策にはなるわけですが、Integrationの再読み込みをするサービスが見つかりません。


しかし、別のことをググっていた時に偶然、こんなブログ記事を見つけました。
Home AssistantのAPIを使ってIntegrationの再読み込みができるようです。
smartlife99.netlify.app


基本的にはこのブログ記事をそのまま真似をさせていただいただけなんですが、Home Assisatantのバージョンの違いのせいか一部そのままの方法では出来なかったので、今回はHome AssistantでIntegrationを自動で再読み込みする方法を書きたいと思います。

■環境

Home Assistant version: core-2022.8.1
Home Assistant installation type: Home Assistant OS (Ver.8.4)

■手順

IntegrationのEntity IDを取得する方法が前述の見つけたブログに書かれた方法では出来なかったのでググって見つけました。

1. Samba shereアドオンのインストール

Samba shereアドオンをインストールして、他のPC等からHome Asssitantサーバ内のディレクトリへアクセスできるようにします。
アドオンストアからインストールできます。
github.com

2. IntegrationのEntity ID 取得

他のPCなどから"\\192.xxx.xx.xx\config\.storage\core.config_entries"を開きます。
("\192.xxx.xx.xx”はHome Assistant"が稼働しているサーバ)
"core.config_entries"ファイルには統合の設定がズラっと書かれているので、対象となるインテグレーションを検索(今回の場合は"deebot"で検索)し、そのEntity IDをメモります。

 {
        "entry_id": "xxxxxxxxxxxxxxxxxxx",
        "version": 3,
        "domain": "deebot",
        "title": "yyyyyyyy",
        "data": {
          "username": "yyyyyyyy",
          "password": "zzzzzzzz",
          "country": "jp",
          "continent": "as",
          "devices": [
            "dddddddddddd"
          ]
        },
        "options": {},
        "pref_disable_new_entities": false,
        "pref_disable_polling": false,
        "source": "user",
        "unique_id": null,
        "disabled_by": null
      },

3. Home Assistant API Token の取得

Home AssistantのAPI経由でIntegrationの再読み込みを実行出来るようです。
まずはAPIへアクセスするためのアクセストークンを生成します。
左サイドバー下にあるユーザーをクリックして、"長期間有効なアクセストークン(Long-Lived Access Tokens)"をクリックし生成されたトークンをコピーします。

4. アクセストークンの追加

secrets.yamlにさっきのアクセストークンを追加します。

secrets.yaml

integration_reroad_token: Bearer さっきの長期間有効なアクセストークン

5. restコマンドの定義

API を使ってIntegration を再読み込みする rest コマンドをconfiguration.yamlに定義します。

configuration.yaml

rest_command:
  reload_deebot:
    url: "http://192.xxx.xx.xx:8123/api/config/config_entries/entry/さっきメモったEntity ID/reload"
    method: POST
    headers:
      authorization: !secret integration_reroad_token
      content-type: "application/json"

6. オートメーション作成

とりあえず1Hrに1回、インテグレーションを再読み込みするrestコマンドを発動するようにしました。

alias: Deebot_auto_reload
description: ""
trigger:
  - platform: time_pattern
    hours: /1
condition: []
action:
  - service: rest_command.reload_deebot
    data: {}
mode: single

■ということで

ということでHome Assistantの小ネタでした。
それでは。

Home Assistant 1年間使用レビュー(1): おススメ構成[ハードウェア編]

Syompapaです。
Home Assistantを使い始めて約1年が経ったのでおススメ構成や使用1年間レビューなんかを何回かに分けて書いていきたいと思っています。

第1回目の今回は、基本ハードのおススメ構成です。
私がHome Assistantを導入しようと決めてから結構悩んだのが「どのハードを買えばいいのか」という点でした。
ググるとセンサー類はZigbee接続のものが良さそうだということになるワケですが、Zigbee接続であってもHome AssistantでZigbeeバイスを接続するのに使用するインテグレーションやアドオンによってサポートしていないデバイスがあったりして、何を買ったら良いのか迷いました。
そんなワケで今回はHome Assistantを導入するのに最初に揃えるであろうハードのおススメ構成を書いていこうかと思います。

■何はともあれHome Assistantを動かすサーバー

Raspberry PI 4Bしか使ったことが無いのですが、たぶんHome Assistantを導入している方の大半はRaspberry PI 4Bを使用されていると思われ無難にaspberry PI 4Bでいいんじゃないかと思います。
私が使用しているRaspberry PI 4Bはメモリ: 4GBモデルで、メモリ使用量は平均的に15%~20%前後です。
大きいに越したことはないですが入手性や予算で2GB or 4GB or 8GBを選べば良いかなと思います。


Raspberry PI 4Bへの電源供給はUSB-Cとなっていますが、電源を供給するアダプタ選びは注意しなくてはいけないみたいです。
Raspberry PI 4B単体では定格1.7Aのようですが、USBやGPIOへの機器接続も踏まえて一般的には3.0A以上の電源を用意することが推奨されています。SSDも1Aくらい流れるものもあるようです。
また電流だけではなくて電圧が低くなるとCPUのクロックが上がらないらしく、Raspberry PI 4B用として売られているものの中には5Vではなく5.1Vとか明記されているものもあります。
Raspberry PI 4B用と謳われているものが良いと思います。
私はHome Assistantを動かしているRaspberry PI 4Bには以前はこのケースとセットで購入した電源を使っていましたが、ACアダプタは5.1V表記です。
amzn.asia


SSD化した現在は5V 4Aのこちらの電源を使用しています。商品説明には、ケーブルやスイッチの抵抗にもこだわりRaspberry Pi4フル負荷で実稼働テスト済みと書かれていて頼もしい感じです(笑)
amzn.asia

■ストレージ

Raspberry PI 4BのストレージはmicroSDカードが標準ですがUSBに接続したSSDからのブートにも対応しています。
Home Assistantを本格運用する予定であれば最初からSSDにすることをおススメします。
速度的に最初はmicroSDカードで事足りますが、あれこれインテグレーションやデバイスを追加していく内に重くなり個人的には速度が欲しくなりました。
また、Home Assistantは細かいログなどをたくさん書き込むので、microSDカードの耐久性的に結構過酷だといわれています。
SATAのM.2 128GBのSSDが3,000円弱、USB接続ケースが3,000円弱で合計5,500円~6,000円程度かかりますが、microSDカードもMLCだと32GBで2,000~2,500円前後しますので、速度と耐久性(microSDカードが壊れた時の交換コスト)も考えるとSSDの方がコスパは良いかなと思います。


私はmicroSDカードで運用開始して1年後にSSDへ移行しました。私が使用しているSSDについてはこちらのページに書いています。
sympapa.hatenablog.com


microSDカードを使用される場合は、Home AssistantではmicroSDカードの耐久性が必要といわれていますのでMLCを使用したものを選んだ方が良いと思います。私はMLCであることが明記されている風見鶏さんで買ったSandisk Industrial 32GBを1年間使用していました。容量的には動画などサイズの大きいメディアを取り扱わなければ32GBで十分だと思います。
paypaymall.yahoo.co.jp


ZigBeeコーディネータ

Home Assistantで人感センサーやドア開閉センサーを接続するならZigBee規格のモノを使用するのが基本になります。
ZigBeeはホームオートメーション向けの無線プロトコルで、ZigBeeを使用するメリットはWi-Fiと比較して省電力なのでセンサー類の電池持ちが良く一般的に小型であることと、センサー類は結構な数になるのでWi-Fi接続だとアクセスポイントの接続可能台数を消費しますがそれが無い点かなと思います。
ZigBee接続のセンサー類を使用するには親機となるZigBeeコーディネーターが必要になります。
ZigBeeコーディネーターには大きく分けるとRaspberry PIのUSB端子に直接挿すUSBタイプとLAN経由で接続するLANタイプがありますが、USB接続のものの方がセットアップが簡単で、かつLANネットワークが死んでもZigBeeネットワークが活きていれば動作し続けるメリットがあります。
Home AssistantでサポートされているZigBeeコーディネータの大半はHome Assistantに対応させるファームウェアを書き込みする必要があり、その大半は書き込みするための専用ケーブルを用意したり場合によってはその接続のためにはんだ付けが必要だったりします。
更に、Home AssistantでZigbeeバイスを接続するのに使用するインテグレーションやアドオンによってサポートしているZigbeeコーディネーターが異るので、私がHome Assistantを導入する際にはどれを選べば良いのかかなり迷いました。


2022年8月現在のおススメは"Sonoff ZigBee 3.0 USB Dongle Plus"で、初心者に優しいZigBeeコーディネータだと思います。
デフォルトのファームウェアのままHome Assistantで使えて、ZHAにもZigbee2MQTTにも対応しています。
sonoff.tech
Aliexpressで検索すれば簡単に見つかり入手性も良好です。
私が購入した時には2,000円以下でしたが、2022年8月現在は円安のせいか(いやそれだけじゃ話合わないか)2,500円~3,000円くらいで購入できます。


もし最新のファームウェアを焼きたくなった場合も、Windows PCのUSBポートに直接挿して簡単に焼くことが出来、更にルーター(リピーター)用のファームウェアを焼くとルーターとして使うことが出来ます。
弱点は、比較的新しいモデルの割に電波が飛ばないことですが、リピーターがあれば問題ないです。
Philips Hueの電球などAC電源を供給するZigbeeバイスのほとんどにはリピーターが内臓されています。
ファームウェアの焼き方はここに書いています。
sympapa.hatenablog.com
sympapa.hatenablog.com

■人感センサー

ホームオートメーションで人感センサーを使わない人はいないのではないかと思います。
私は4種類の人感センサーを使用していますが、価格(約5,,000円)と大きさが許容できれば"Philips Hue"の人感センサーが良いです。
多くの人感センサーは人感検出後のステータス更新間隔が1分となっており人感を検出した後で次にステータスを取得するのは1分後ですが、"Philips Hue"の人感センサーは人感検出後数秒間隔でステータスが更新されます。
また、照度センサーと温度センサーを内蔵していて、日本国内で購入できる入手性もメリットです。
amzn.asia


私が一番多く使用しているのは”Aqura Motion sensor RTCGQ11LM"です。
照度センサーも内臓しており、価格は1個購入で2,000円前後、4個まとめて購入で1個あたり1,700円前後です。
人感検出後のステータス更新間隔は1分ですが、簡単な改造をすると5秒間隔になります。
弱点はZigbee規格の標準に準拠していないという噂で、接続しているのが電球などのルーター(リピーター)の場合、接続しているルーターの電源をOFFにしたり取り除いた時に通常であればすぐに自動的に他のルーターへ再接続してくれるはずなのですが、この人感センサーは他のルーターへ自動的に接続してくれない場合が多い点です。
ja.aliexpress.com


人感検出後のステータス更新を5秒間隔に改造する方法はここに書いています。
sympapa.hatenablog.com


他の2種類の人感センサーも一長一短です。ここに4種類の人感センサーのレビューをまとめています。
sympapa.hatenablog.com

■ドア開閉センサー

人感センサーと並んで、ドア開閉センサーはホームオートメーションに必須のセンサーだと思います。
私が使用しているのは”Aqura Door Window sensor MCCGQ11LM"です。弱点と思われる点が無いのでこれしか使ったことがありません。
価格は1個購入で2,000円前後、4個まとめて購入で1個あたり1,500円前後です。
本来のドア開閉の検出以外にも小さいので、クレセント錠の開閉であるとか工夫次第で様々なことに使えます。
ja.aliexpress.com

■赤外線リモコンデバイス

私が使用している赤外線リモコンデバイスはNature Remoですが、Home Assistantに標準でインテグレーションがあるBroadLinkの”RM4 Mini”を導入するのが良いのではないかと思います。
amzn.asia
www.home-assistant.io


Nature Remoの場合は日本のガラパゴスバイスなのでHome Assistantとの親和性はよろしくはありません。
ただ、Nature RemoはローカルAPIクラウドAPIともに公開されているのでコマンドを書いてやればHome Assistantから操作することは可能です。ただ、エアコンはIRリモコンがかなり複雑なのでコマンドで制御するのはかなり難しいかもしれません。
sympapa.hatenablog.com


日本人の方が開発されたカスタムインテグレーションもあるので、これを導入すれば簡単にNature RemoとHome Assistantを連携させることが出来、エアコンの制御も簡単に出来ます。
sympapa.hatenablog.com

■照明

基本的に電球はPhilips Hueがおススメです。Zigbee接続でコントロール可能です。照明としての品質も間違いありません。お高いのが難点かな。
E26の電球であれば最近みつけた"LEDVANCE"のコレがZigbee接続で破格のコスパでおススメです。
sympapa.hatenablog.com


シーリングライトであればYeelightがおススメだと思います。
sympapa.hatenablog.com

■スマートプラグ

おススメは日本国内では販売されていませんが、SengledのZigbee接続消費電力モニタ付スマートプラグです。
本来の使い方ではありませんが消費電力をHome Assistantから取得できるので、接続している家電がオンかオフを見分けるのに使っています。
もちろんスマートプラグとして電源をオンオフすることも可能です。
Amazon.comで現在、2個で4,999円+送料1,429円=6,428円となっています。私が購入したのは22年1月でしたが送料込みで2個4,872円でした。円安恐ろしい(汗
sympapa.hatenablog.com


フツーのスマートプラグとしてはTP LinkのHS105も使っています。Home AssistantにはTP Linkのインテグレーションがありオンオフ操作可能なので、オンオフするだけならこっちで良いとは思います。
こっちも2020年7月に購入した時は2個で2,451円でしたが、今は1個で2,300円くらいします(汗
amzn.asia

■というわけで

しかしこうやってまとめてみるとここ半年でずいぶんと物価が上がりましたな(汗
次回は「おススメのインテグレーション」でも書こうかなと思っていますが、どうなるかは書く時の気分次第です(笑)
それでは。

Home Assistant: Raspberry PI 4BをSSDブート化する

Sympapaです。
Home Assistantを使い始めて1年ちょっとが経ちました。ちなみにこのブログは昨日で1周年だったようです(汗


我が家のHome AssistantはRaspberry PI 4B上で動いています。
導入当時は(ってか今もですが)Raspberry PIのことなどチンプンカンプンで、なんも考えずHome Assistantの公式ページに書かれた初心者おススメコースをひたすら手順どおりにインストールしただけなので、OSはHome Assistant OSでmicroSDカードにインストールして使っています。
一応、ドラレコではmicroSDカードがご臨終する経験を2回しているので、このテのものに使用するSDカードは「MLCに限る」と思っており、MLCであることが明記されている"Sandisk Industrial 32GB"を使用しています。
microSDカードが壊れなくてもHome Assistant自体が壊れることもあるでしょうし、日常的にはHome Assistantに備わったバックアップ機能でバックアップを行い、2ヶ月に1回くらいはSDカードを丸々イメージとしてバックアップしています。
この運用をしていれば簡単に復旧できるのでmicroSDカードでも十分かなと思っていたのですが、最近、アドオンやインテグレーションやデバイスがかなり増えてきたせいか、起動や履歴などの読み込みが結構重くなっており速度面が気になってきました。
そこでHome AssistantをSSD化してやろうというのが今回のお話です。

■用意したハード

SSD

コンパクトさを求めてM.2 2242のにしようと思いましたが、少し大きい方が放熱に有利かなって思ったのとケースの兼ね合いでM.2 2280のコレにしました。しかしSATAのM.2ってラインナップ少ないですねぇ。
たぶんAmazonで売っている「有名どころ」のSATA M.2 2280 小容量SSDとしては一択である”シリコンパワー 3D TLC NAND採用 128GB SATA III 6Gbps A55シリーズ SP128GBSS3A55M28”を選択しました。
amzn.asia


SSDのUSB接続アダプタとケース
ググるとRasberry PI 4BにSSDを接続する手段としては、Paspberry PIのケースと一体になった"Argon ONE M.2アルミニウムケース"がメジャーなようです。
一体型ですっきりするし良さげですが6000円はお高いし組み立てが面倒そう(汗
それに当然ながらSSDを接続するアダプタとしてRaspberry PI 4B以外では使えないというデメリットもあります。
そんなワケで私はトランセンド USB3.1 [M.2 SATA SSD 専用] 外付けケース TS-CM80Sを選択しました。
M.2 2280 SATA用です。
amzn.asia

■作業していく

Home AssistantのSSD化についてググってもあまり新しい情報がヒットしなかったのですが、昔はRasberry PIをSSDブート化するのは大変だったけど今はラクになったということなんでしょうたぶん。
作業としては、ブートローダをUSBブートするように設定してSSDにHome Assistantをクリーンインストールし、起動後にバックアップを復元するだけのようですので、サクサクっと1時間以内に終わらせましょう。

1.Home Assistantをバックアップする

Home Assistantのバックアップ機能でバックアップします。
バックアップが終わったらPCなどにバックアップファイルをダウンロードしておきます。

2.ブートローダー更新とUSBブート設定

Raspberry PI 4BはもともとはUSB Bootに対応しておらず、2020年6月頃から正式にUSB Bootに対応したらしいです。なので古いバージョンのブートローダーだとUSB Bootできないようです。
私は自分のRaspberry PI 4Bのブートローダーバージョンを調べもせずに最新版にします。バージョンを調べる方法を調べる方が面倒そうだったので(笑)
ブートローダーを最新版に更新してくれるmicroSDcardを作成して起動するだけです。


1)Raspberry PI ImagerをPCにインストールし起動します。(私はWindowsマシンで実行します)
www.raspberrypi.com


2)空の(あるいは消去してもいい)microSDカードをPCと接続します。


3)Raspberry PI ImagerのOS選択で“Misc utility Images">“Bootloader” と進みます。
ここで"SD Boot", "USB Boot", "Network Boot"の3つの選択肢がありますが、どれから優先的に起動するかをここで選べばブートローダーを焼くのと一緒に設定してくれるようです。今回は“USB Boot”を選びます。ちなみに"USB Boot"を選んでもUSBストレージが無い時にはmicroSDカードから起動してくれます。


4)書き込むmicroSDカードのドライブを選択し、「書き込む」を押して数秒で「ブートローダー更新用microSDカード」の出来上がりです。


5)Home AssistantがインストールされているRaspberry PI 4Bに挿さったmicroSDカードを抜いて、4)で出来上がったブートローダー更新用microSDカードを挿入して電源を入れます。抜いたmicroSDカードは絶対に無くさないようにします(笑)


6)自動的にブートローダーを更新し"USB Boot"に設定してくれます。
「緑の画面が表示されて緑のLEDが点滅したら更新完了」ってことらしいですが、電源を入れた瞬間にそうなっていたので失敗かと思いました(笑)


7)電源を切ってmicroSDカードを抜きます。こっちは無くしてもいいです(笑)

3.SSDにHome Assistantをインストールする。

初めてHome Assistantを導入した時と同じ手順でSSDにHome Assistantをクリーンインストールします。
こちらのページの手順どおりにやりました。
www.home-assistant.io

4.SSDを繋いでRaspberry PIを起動する

SSDRaspberry PIUSB3.0ソケット(青い方)に繋いで電源を入れます。
しばらく経つと他のPC等から”homeassistant.local:8123"でHome Assistantの画面にアクセスできるようになります。
最初「内部処理が終わるまで待ってろ」って画面が出ますが、ここの完了はmicroSDカードよりSSDの方が断然早かったです。

5.バックアップを復元する

なんて書いてあったか覚えてないけど「バックアップから復元」みたいなのを押して、最初にバックアップしてPCに保存しておいたファイルをアップロードし復元します。
これで作業は完了です。

■だがしかし

Raserry PI 4Bの電源はケースとセットで2000円くらいで買った5.1V 3Aアダプタですが、電源供給も全く問題無いようでサクッと起動してくれました。
しかしHome Assistantでバックアップしたファイルからの復元にはあまり良い印象はないんですよね。
たまに一部が復元されないというか。。。
2ヶ月に一度くらいmicroSDカードを丸々イメージとしてバックアップしているのはそういう理由が大きいです。
ちなみに最初はSSDにイメージを復元すりゃ手順も少なくなるし確実に復元出来ていいんじゃないかと思ってましたが、復元するとSSDが元のmicroSDカードと同サイズのパーティションになってしまうのを解決する方法が判らず断念。


起動後は過去の経験上特に懸念していたZigbeeバイス達が問題なく動いてくれました。
「今回はちゃんと復元されたー!」と喜んだのも束の間、アドオンがどれも起動していません。
いや、Zigbee2MQTTで接続しているセンサー達はちゃんと機能してる。。。
裏ではアドオンがちゃんと動いているのにUI上では起動していないことになっていて、サイドバーから各アドオンのUIを開こうとすると「先に起動しなさい」と怒られ、アドオンを再起動してみてもやっぱりUI上では起動していないことになったまま。。。
再起動したりクリーンインストールからやり直したり、違うバックアップから復元してみたり、新たなアドオンをインストールしてもダメで3時間ほどを費やし「今日はあきらめてmicroSDカードに戻そう。。。」と思いかけた時に何故かUIが復活しました。
ググってもあんまり出てこない不具合でしたが、同様の不具合で「俺は15回再起動したら直ったぜ!」と書いてる人がいたので再起動しまくり作戦か放置プレイがいいのかもしれません(笑)


(後日追記:Alexa Switch用として使っているSamsung Smart Thingsインテグレーションのログインが外れてしまってました。トークンをメモってなかったのでトークンを再生成してログインし直しました。バックアップからの復元だとこういうのがちょいちょいあります。)


見た目はもう少しスマートになると思っていたのにUSBケーブルがゴツすぎた(><)
これなら2.5インチのSSDでも良かったかも(笑)
まぁどのみち隠れる場所に置いているのでいいっちゃいいんですけど、柔らかくて短いケーブルを探してみます。

■感想

もちろんサクサクになりましたが、PCのシステムドライブをHDDからSDDに換えた時のような感動はありません(笑)
システムの起動時間とかは、PCだと体感で5倍くらい速くなったように感じましたが今回は2倍にはなっとらんかなという印象です。最初の頃はmicroSDカードで全く不満がなかったのですが、今の色々なものをゴチャゴチャ入れた状態で最初の頃の感覚に戻ったなーみたいな感じです。
一方、人感センサーやスイッチによる照明点灯などの動作が数十ミリ秒早くなった気がしますがプラシーボかもしれません(笑)
いずれにしても思ったほど速くならんかったと思うわけですが、今回かかったお金は5500円で容量120GB。
MLCmicroSDカードが32GBで2000円くらいするので、寿命や性能に対するコスパとか、今回みたいにバックアップが復元されないトラブルの可能性なども考えると、これからHome Assistantを導入される人には最初からSSDにしとくことをおススメしたいと思います。

それでは。

Deebot X1 OMNI (3): Home Assistantのダッシュボード設定

Sympapaです。

前回までの記事で書いたとおり、ロボット掃除機:Ecovacs Deebot X1 OMNIのHome Assistant連携にカスタムインテグレーションである"Deebot-4-Home-Assistant"を使わせていただいています。
機種依存なのかちょっと不具合はありますが、APIの公開されていないクラウド経由の制御をハックするとか凄すぎるしありがたやです。
github.com


不具合はあれどなんとか回避策も判ってきたので、今回はおウチのコントロールパネルのUIとなるHome Assistantのダッシュボードを作っていきたいと思います。

■とりあえずこれまでのDeebot関連記事

■DeebotとHome Assistant連携のゴール

嫁様の要求により我が家初のロボット掃除機としてDeebot X1 OMNIを仕方なく購入したワケですが、使い始めて3週間経った今も嫁様は使い方を覚えていません(笑)
そんなワケでDeebotのアプリで部屋を指定したりして掃除させるのは面倒くさいので、おウチのコントロールパネルから簡単に出来るようにしたいって感じです。以下のことを実現したいと考えていますが、とりあえず今回は1)~3)を実現したいと思います。
1)簡単に部屋を指定して掃除できるようにしたい
2)簡単に場所(食卓の下など)を指定して掃除できるようにしたい
3)掃除機のステータスが見れるようにしたい
4)ステーションのタンクの水の量が見れるようにしたい →これは"Deebot-4-Home-Assistant"でサポートされてないし無理そうかな?

■部屋指定の掃除と場所指定の掃除のUI

”Deebot X1 OMNI”はEcovacsのアプリからは"自動清掃"以外に、部屋を指定する"エリア清掃"と、特定の場所(例えば食卓の下)を指定する"カスタムエリア清掃"が出来ます。
部屋を指定する"エリア清掃"の方はマップ上のその部屋が「キッチン」であるとか「リビング」であるとかを選択して設定しておけば、内臓の音声アシスタントで「キッチンを掃除して」なんてことも出来ます。残念ながら部屋の名前を自由に付けることは出来ません。音声認識のハードルとかもあるんかな。
部屋ごとに掃除回数、吸引力、水拭き時の水の量を設定しておくことが出来ます。
一方の"カスタムエリア清掃"はマップ上で手動で四角く囲ったエリアを清掃してくれますが、こちらはプリセットは出来ず掃除する範囲を毎回指定する必要があります。


部屋を指定する"エリア清掃"の方はEcovacsアプリや音声アシスタントからの操作で出来ますが、アプリからの操作は手数が多いので快適とはいえません。
"カスタムエリア清掃"の方は四角をドラッグして範囲を指定する方式なので、毎回同じ範囲を指定することすら難しいです。

"Deebot-4-Home-Assistant"を使ってHome AssistantとDeebotを連携させると、Home Assistantからコマンドで座標を指定して"カスタムエリア清掃"をさせることが出来るのでプリセットを作ることが可能になります。
実際の座標の取得方法は前回の記事に書いています。
sympapa.hatenablog.com

【カスタムエリア清掃のコマンド例】

service: vacuum.send_command
target:
  entity_id: vacuum.omni
data:
  command: custom_area
  params:
    coordinates: 1360,916,2360,-83 ←カスタム清掃する範囲の座標(x1,y1,x2,y2)


もちろん部屋を指定して掃除させることも可能です。
部屋コードはEcovacsのサーバの方で部屋に番号が振られているのでそれを使用し、","で区切れば複数の部屋を順に掃除してくれます。
部屋コードはデバイスを開いて「属性」のところで確認できます。

【エリア清掃のコマンド例】

service: vacuum.send_command
target:
  entity_id: vacuum.omni
data:
  command: spot_area
  params:
    rooms: 1,0,2 ←部屋コード
    cleanings: 1


これを使用して、おウチのコントロールパネル上での簡単な操作で、掃除したい部屋やプリセットしてある「カスタムエリア」の掃除が開始されるようにしたいと思います。
部屋を指定するUIは"Deebot-4-Home-Assistant"のExampleページにあったAdvanced UIを使わせて貰いました。
deebot.readthedocs.io
複数の部屋を指定し、指定した順序で掃除してくれるという素晴らしさです。
清掃中は部屋を選択するボタンがグレーアウトしたりしてUIの見た目も凝ってます。
。。。が、どこでどう失敗したのか掃除開始のスクリプトがDeebotに指定した部屋を渡してくれず、結構中身を弄くりまわしました。なかなか苦労した大人の夏休みの自由研究でした(笑)
そしてこれをベースに改造して「カスタムエリア」も選択できるようにしました。
(後で画面のgifアニメーションを載せます)

■ステータスの表示や設定の切替

"Deebot-4-Home-Assistant"ではDeebotアプリで設定できる項目の内の一部の設定を変更でき、また一部ステータスを取得してくれます。新しい機種における機種依存の項目は対応していないんじゃないかと思います。
設定できる項目は多くはないので、とりあえず可能なものは全ておウチのコントロールパネル上で切替できるようにしておきます。
ステータス表示の方は既にVacuum-card上に消耗品の交換時期というか残りのパーセンテージは表示されているし、追加で表示したいのは「モップの有無」くらいかな。本当はステーションのタンクの水の量を表示させたいんですが、Ecovacsアプリでは確認できるけど"Deebot-4-Home-Assistant"では取得できないんですよね。
開発者さんはX1 OMNIを使用されてはいないので、ここはX1 OMNIを使用されている方で通信を解析できる神の登場待ちか。。。


【備忘録】
・オートメーションやスクリプトからモップの水量を変える
設定はservice: "select.select_optin"を使えばできます。

・吸引力とバッテリー残量を取得する
吸引力とバッテリー残量はエンティティではなくロボット掃除機の属性となっています。
template sensorを使ってステータスをエンティティとして使えるようにしました。

- platform: template
  sensors:
    deebot_omni_fan_level:
      friendly_name: "deebot_omni_fan_level"    
      value_template: '{{ states.vacuum.omni.attributes.fan_speed }}'

オートメーションやスクリプトからの設定の方はservice: "vacuum.set fan speed"を使えばできます。

・掃除回数を設定する
Deebotは掃除回数(1回掃除 or 2回掃除)を設定できます。掃除の丁寧さみたいなもんです。
"Deebot-4-Home-Assistant"ではDeebot側の掃除回数の設定を取得出来ませんが、掃除開始コマンドのパラメータには"cleanings"がありたぶんこれが掃除回数だと思うので、これをおウチのコントロールパネルのUIから設定できるようにしてみました。

■こうなった

元にさせていただいたExample UIのコードが凄く長い上に更に追加していて長く汚くしてしまった(笑)のでコードを載せるのは止めておきますが、動かすとこんな感じになってます。

あとは掃除の開始時にGoogle Nest Hubから「水拭き清掃を開始します。」or「モップは装着されていません。吸引清掃を開始します。」→「〇〇を清掃します。」と話すようにしました。


さて、あとはこれで嫁様がDeebotを使いやすくなるのかどうかですね(笑)


それでは。

Deebot X1 OMNI (2): Home Assistant連携難航中(ちと進展)

Sympapaです。

前回の記事で書いたとおり、ロボット掃除機:Ecovacs Deebot X1 OMNIのHome Assistant連携が難航しています。
Home Assistant純正のEcovacsインテグレーションは何故かインストールできず、唯一開発がアクティブなカスタムインテグレーションである"Deebot-4-Home-Assistant"をインストールしましたが、一応動くものの色々問題がありました。
github.com

今回はその問題解決がちょっとだけ進展したので、備忘録を兼ねてやったことを書いていきます。
前回の記事のコピペも多用するので、同じ記事だと錯覚しないようご注意ください(笑)

■DeebotとHome Assistantの連携のゴール

まぁ大体は、Deebotのアプリでやると面倒くさいことを家のコントロールパネルから簡単に出来るようにしたいって感じです。以下のことを実現したいと考えています。
・ワンタッチで部屋を指定して掃除できるようにしたい
・ワンタッチで場所(食卓の下など)を指定して掃除できるようにしたい
・掃除機のステータスが見れるようにしたい
・ステーションのタンクの水の量が見れるようにしたい →これは"Deebot-4-Home-Assistant"でサポートされてないし無理そうかな?


そんなワケでできるかどうか知らんけどHome Assistantと連携してやりたいことのゴールをイメージにすると下の図のような感じです。あくまでゴールのイメージなので現時点で実現出来ているのはこの半分くらいです(笑)

■Deebot-4-Home-Assistantの問題点

大枠として動くには動くのですが、暫く使用した結果以下のような不具合があります。
1)起動後数時間(?)するとロボット掃除機のステータスを取得(更新)しなくなる(しかし操作は可能)
2)掃除完了時に受け取るはずのイベントが発生しない
3)"Last Cleaning"エンティティが「不明」のまま
4)マップが正常に表示されない


1)のステータスの取得が停止してしまう問題については、Deebot-4-Home-Assistantのインテグレーション再読込をすればまた数時間は復活します。インテグレーションの再読込は手動でしか出来ないと思っていましたが、自動的に実行する方法を見つけたので、これで1)の問題は強引に解決することはできそうです。この方法については別記事で書きたいと思います。
そして2)の掃除完了イベントを受け取らない問題が一番厄介です。
"Deebot-4-Home-Assistant"から部屋を指定して掃除させるには「部屋コード」が必要で、エリアを指定して掃除させるには「座標」が必要なのですが、それらを知るにはDeebot-4-Home-Assistantのページによると「掃除完了時に受け取るイベント」が必要なのです。
deebot.readthedocs.io

■部屋コードと座標を別の方法で取得する

Home Assistant以外のホームオートメーションシステムを含めると、現在、最もアクティブにEcovacsロボット掃除機のハックをされているのがこちらの"ecovacs-deebot.js"ではないかと思います。"Deebot-4-Home-Assistant"のディベロッパーさんとも連携されている様子です。
github.com


ライブラリなので単体では動きませんが、開発者さんはこのライブラリを利用したNode-red用のノードとか、Home AssistantみたいなホームオートメーションシステムであるioBroker用のアダプタも公開されています。
そして"ecovacs-deebot.js"のパッケージにはサンプルアプリが入っているので、これを動かしてみてどんな情報が取れるのかを見てみることにしました。
今回はNode.jsをインストールしたWindowsマシン上で実行します。


1.ecovacs-deebot.jsのインストール
コマンドプロンプトを起動し以下のようにコマンドを叩きます。

git clone https://github.com/mrbungle64/ecovacs-deebot.js.git
cd ecovacs-deebot.js
npm install


2.設定
exampleフォルダの中にsettings.jsがあるのでこれをエディタで開き、設定を編集して保存します。
DEVICE_NUMBER は1台の場合"0"でいいみたいです。

exports.ACCOUNT_ID = 'Your_ecovacs_ID';
exports.PASSWORD = 'Your ecovacs_password';
exports.COUNTRY_CODE = 'JP';
exports.DEVICE_NUMBER = 0;


3.実行

cd example
node ./app2.js


4.結果
サンプルアプリを実行すると以下のように返って来ました。

Devices: [{"did":"..."deviceNumber":0}]
{
...
}
- Name: Omni
- Model: DEEBOT X1 OMNI
- Image url: https://xxxxx
- Is known device: true
- Is supported device: false
- Is 950 type model: true
- V2 commands are implemented: true
- Communication protocol: MQTT
- Main brush: true
- Mapping capabilities: true
- Edge cleaning mode: false
- Spot cleaning mode: false
- Spot area cleaning mode: true
- Custom area cleaning mode: true
- Mopping system: true
- Voice reports: true
- Auto empty station: true
- Canvas module available: true
- Using country: Japan
- Using continent code: as
iot/atr/xxxxxxx

vacbot ready

CleanReport: idle
CurrentCustomAreaValues:
CurrentSpotAreas:
DeebotPosition: -600,-55,0
CurrentSpotAreaID: unknown
ChargePosition: -597,-55,0
CurrentMapMID: xxxxxxx
CurrentMapName: LDK
CurrentMapIndex: 0
ChargeState: charging
BatteryInfo: 100
CleanLog: []
ChargeState: charging
Volume: 10
water level: 1
CleanSpeed: 2
Error: Request Timeout (command 'getMapSubSet')
Error: Request Timeout (command 'getMapSubSet')
Error: NoError: Robot is operational
CleanSpeed: 2
water level: 1
Volume: 10

"Deebot-4-Home-Assistant"でマップが正常に表示されませんが、こちらでもエラーになっています。機種依存なのかな?
そして、Deebot-4-Home-Assistantでのログイン時にcontinent codeを"jp"にするとログイン出来なかったので"ww"でログインしていましたが、実際は"as"であることも判りました。


Ecovacsアプリから部屋を指定して清掃する「エリア清掃」を実行すると下のように返って来ました。
"CurrentSpotAreas"が部屋コードで、私の今の設定だとキッチンが”0”、リビングが"1"みたいです。

DeebotPosition: -587,-63,0
CurrentCustomAreaValues:
CurrentSpotAreas: 0

Home Assistantから部屋コードを指定して掃除するコマンドを送ると、ちゃんとEcovacsアプリ側でも指定した部屋のエリア清掃モードになっていました。

service: vacuum.send_command
target:
  entity_id: vacuum.omni
data:
  command: spot_area
  params:
    rooms: 1
    cleanings: 1


次に範囲を指定するカスタムエリア清掃をEcovacsアプリから実行するとこんな風に返って来ました。
"CurrentCustomAreaValues"が指定している場所の座標です。
たまに”waterBoxInfo”が現れますがいつも"0"みたいです。。。

CurrentCustomAreaValues: 1360,916,2360,-83; ←ダイニングテーブルあたりを指定
DeebotPosition: -21,-543,86
CurrentSpotAreaID: 0
waterBoxInfo: 0

こちらも座標指定してカスタムエリア清掃にするコマンドを送ると、Ecovacsアプリ側でも指定した範囲のカスタム清掃モードになっていることを確認しました。

service: vacuum.send_command
target:
  entity_id: vacuum.omni
data:
  command: custom_area
  params:
    coordinates: 1360,916,2360,-83

■まとめ

部屋コードと座標を知ることができるようになったので、これでおそらくHome Assistantからエリアを指定して掃除を実行することが出来るようになると思います。
次回は家のコントロールパネルのダッシュボートを設定していきたいと思います。


それでは。つづく

Deebot X1 OMNI (1): 初期レビューとHome Assistant連携(難航中)

Sympapaです。

少し前のことになりますが、Amazonプライムデーの勢いで初めてのロボット掃除機として全部入りのハイエンド機を購入してしまいました(汗
購入したのはEcovacs Deebot X1 OMNIで1台で水拭き清掃にも吸引清掃にも対応、ステーションには綺麗な水と汚水それぞれのタンクを装備しゴミ回収機能も装備している全部入りモデルです。

ガジェオタの割にロボット掃除機には全く興味がなかったのですが、奥様が欲しいと言い出したので仕方なく(笑)購入することにしました。
もちろんHome Assistantとは連携させたいので、Home Assistant純正のEcovacsインテグレーションがあることを確認した上で購入しました。
掃除終了後のゴミの回収や水の交換も自動でしてくれるので掃除が終わったことを知る必要も無いし、音声アシスタントも内臓しているので「Home Assistantと連携して何すんねん?」って感じもしていましたが、所定の場所(例えば食卓の下だけとか)を指定して掃除させるのは音声では出来ないし、アプリからだと所定の場所をプリセット出来ないのでちと面倒なんですよね。
Home Assistantなら家のコントロールパネルから「食卓の下」ボタンを押せば、ワンタッチで食卓の下を掃除させるなんてことも出来そうな感じがします。


だがしかし、そもそものDeebotとHome Assistantとの連携は結構難航しました。というか今も難航中です(汗
そんなワケで、ロボット掃除機としてのレビューもがっつり書きたいところではありますが、今回はサラッと初期レビューを書きつつHome Assistantとの連携についてメインに書いていこうと思います。

■Deebot X1 OMNIはたぶんこんな感じ

まだ使い込んではいないしそもそもロボット掃除機自体が初めてなので良くわかっていませんが、ファーストインプレッションとしてはこんな感じです。


【出来ること】
・「吸引」とモップによる「水拭き」の二刀流で清掃できる。
・自動で掃除機本体からステーション内の紙バッグへゴミを回収してくれる。
・ステーションに「浄水」「汚水」の4リットルタンクがあり、自動で掃除機本体のモップ用の水を交換してくれる。
・モップが汚れるとステーションが自動でモップを洗浄し乾燥してくれる。
・カメラとセンサーと高性能プロセッサによる凄そうな3Dマッピングと物体回避。
・マップ上で侵入禁止エリアを設定可能。「水拭き」モードの時には侵入しないエリア、モードに関わらず侵入しないエリアを別々に設定できる。
・予約清掃や清掃順の設定が可能。
・音声アシスタントを内臓しており「OK, YIKO!」と呼ぶと音声操作が出来る。「ここを掃除して」とか(ちゃんと家具を設定しておけば)「食卓の下を掃除して」みたいなのも可能。
・カメラの映像をスマホで確認できる巡回機能みたいなのもある。


【とりあえずの良きポイント】
・水拭きの威力が思ったてたより凄い。手で拭くより綺麗になる。
・ゴミの回収、水の補給と汚水の廃棄、モップの洗浄・乾燥を毎回自分でやる必要が無いのでほぼ自動。想像以上に手軽でラクチンすぎる。
・比較するものがないのでわからないけど掃除中の動作音は結構静か。
・音声アシスタント内臓。「○○(部屋名)を掃除して」はもちろん「ここを掃除して」も出来て便利。方向まで認識してるのが凄い。


【とりあえずの残念ポイント】
・モップを装着すると強制的に「水拭きモード」が有効になる。モップを付けたまま「吸引のみ」の掃除はできない。
なので、畳の部屋やカーペット上では水拭きせずに「吸引のみ」、フローリングなどの上では「吸引+水拭き」という掃除を一度に済ませることは出来ない。モップはマグネットでワンタッチで着脱できるので、オプションでモップ着脱用ステーション出してくれんかな。(「水拭きモード」が有効の時に、畳やカーペット上を掃除しないようにマップで設定することは可能。)
・手でステーションを置いていないエリアへ移動して掃除し、ステーションのあるエリアに戻した時に既に学習済みのステーションが置かれたエリアのマップを選んでも、新規のエリアとして再度マップを作成し始めることがあった。
・マップ上でピンポイントで場所を指定して掃除させるのがプリセット出来ない。
・設定できることが多いので仕方ないとも思うがアプリのUIがわかりにくい。
・そんなに障害物回避がうまい感じはしない。細いケーブルには突っ込む。
・わかってはいたがステーションデカい(笑)

■DeebotとHome Assistantを連携してやりたいこと

冒頭書きましたが、ロボット掃除機はもともとスマート化されている上、Deebot X1 OMNIの場合はステーションへ戻るとゴミの回収も水の交換も自動でやってくれるし音声アシスタントも内臓されています。
洗濯が完了したらすぐに洗濯物を取り出したい洗濯機などと違って、別段Home Assistantと連携させる意味はないだろうと思っていました。
しかし、アプリのUIがお世辞にも使いやすいとは言えないので部屋やエリアを指定して掃除させるのが面倒なんですよね。
部屋を指定して掃除させるのは音声アシスタントを使えば簡単に出来ますが、範囲(食卓の下とか)を指定するカスタムエリアはプリセット出来ず毎回手動で範囲指定しなくてはいけません。
また、ステーションの浄水タンクの水が足りなくなったり汚水タンクが満タンになるとお知らせはしてくれますが、掃除を開始してくれない(あるいは掃除中に水の補給にステーションに戻った後で再開してくれない)ので、タンクの水の量は常に表示できるといいですねぇ。

そんなワケでできるかどうか知らんけどHome Assistantと連携してやりたいことのゴールをイメージにすると下の図のような感じです。あくまでゴールのイメージなので現時点で実現出来ているのはこの半分くらいです(笑)


■Home Assistantとの連携

さて本題(?)のHome Assistantとの連携です。
Home Assistantには"Ecovacs"インテグレーションが標準で実装されている・・・はずなのですが、"Configlation.yaml"に設定を書いてHome Assistantを再起動しようとすると[object-object]エラーが出ます。Home Assistantのバージョンは2022.7.1と2022.8.1で試しましたがどちらでも同じでした。
www.home-assistant.io


Home Assistantが2022.7.0以降Python 3.10となったことで多くのアドオンやカスタムインテグレーションに不具合が出ているようですが、さすがにHome Assistantに組み込まれた純正インテグレーションだからなぁ。。。
しかしEcovacsインテグレーションのメンテナーさんが既にEcovacsのロボット掃除機を使っていないらしく、開発の後継者を探しているが見つかっていないとのことなので、その内純正インテグレーションは無くなってしまうのかもしれません。
そんなワケでカスタムインテグレーションを探したワケですが、そもそもEcovacsのAPIは非公開なのでハッカーさんは通信を解析して開発されているようです。2020年頃まではローカルのDeebotサーバなんて凄いものを開発している人がいたりHome Assistant用のカスタムインテグレーションもいくつか開発されていたようですが、2022年7月現在で開発進行中なのはは"Deebot-4-Home-Assistant”くらいしか見つかりませんでした。ホームオートメーションの世界ではEcovacsは不人気みたい?(汗
そんなワケで"Deebot-4-Home-Assistant”をインストールしますが、HACSに対応しているのでインストールは簡単です。
github.com

■Deebot-4-Home-Assistant

無事にインストール出来、24ものエンティティが追加されました。

個人的にはステーションのタンクの「水の量」も取得したかったところですが、ステーション側のステータスを取得できるエンティティは無いようです。
何はともあれ無事に動いて歓喜していたのですが、暫く使用した結果不具合があります。


1)起動後数時間(?)するとロボット掃除機のステータスを取得(更新)しなくなる(操作は可能)
2)掃除完了時に受け取るはずのイベントが発生しない
3)"Last Cleaning"エンティティが不明のまま
4)マップが正常に表示されない


1)のステータスの取得が停止してしまう問題については、Deebot-4-Home-Assistantのインテグレーション再読込をすればまた数時間は復活します。インテグレーションの再読込は手動でしか出来ないと思っていましたが自動的に実行する方法を見つけたので、これで1)の問題は解決できそうです。この方法については別記事で書きたいと思います。
そして2)の掃除完了イベントを受け取らない問題が一番厄介です。
Deebot-4-Home-Assistantから部屋を指定して掃除させるには「部屋コード」が必要で、エリアを指定して掃除させるには「座標」が必要なのですが、それらを知るには「掃除完了時に受け取るイベント」が必要なのです。まぁトライアンドエラーで探し当てるというテもありますが(汗
deebot.readthedocs.io
この問題に関して開発者さんも認識されているようですが機種依存のようで「誰か解析して結果をくれ」みたいです。解決するのかなぁ。そもそも今はDeebot-4-Home-Assistantの開発者さんが長いバケーション中のようです。
github.com

■まとめ

そんなワケで初めてのロボット掃除機としてDeebot X1 OMNIを購入したけどHome Assistantとの連携は難航中というお話でした。
Deebot X1 OMNI自体は「水拭き掃除」と「ほぼ自動」が最強ですが、ちょっと痒いところに手が届いていない感が気になりました。
細かいところは置いといたとして、現時点で「水拭き」「吸引」両刀使いで「ゴミ回収」「水交換」が自動の機種は他に無いワケですが、個人的には「水拭きあり」と「水拭きなし」の掃除が一気に自動で出来るようになったら「真のオールインワン」と言えるかなと思います。それが発売されるまで待つのがベターですが、一方で更にステーションが巨大化すると思うと待たない方が良いかもしれません(笑)

それでは、つづく