Home Assistant on UGREEN NASync DXP2800

はじめに

UGREEN NASync DXP2800を購入して、アプリセンターにHome Assistantというものがあって初めて知ったのですが、これ優れものですね!

https://www.home-assistant.io

Home AssistantはOSSでIFTTTのようなことをローカルで実現します。Raspberry Piなんかで実装してる人が多いようです。

Home Assistantはdockerコンテナとしても提供されていて、UGREEN NASync DXP2800ではそれを使ってアプリとして提供しているようです。なので、NASyncではアプリをインストールするだけで使えます。

iPhoneやAndroid用のアプリも出ていてとても使い勝手がいいのですが、ローカルで動いているのでVPNなどで自宅にアクセスする必要があります。(クラウドサービスもあるのですがそれは有償です)

私は前に書いた、TailScaleで自宅に接続して使っています。

私は今まで、主にSwitchBot + Amazon ALEXAでエアコン制御なんかをやってたんですが、HEMSやEcoFlowの電池なんかとの連携はできませんした。それぞれ違う規格で動いているためです。それがHome Assistantを使うことでかなり連携可能になります。

ECHONET Lite Matter IFTTT Alexa GoogleHome CloudEdge Home Assistant
Panasonic AiSEG2 × × × × × 〇*1
Panasonic ホームユニット VL-HB1000-W × × × × × × ×
QCELLS 太陽電池 × × × × × × 〇*1
SwitchBot × ×
EcoFlow Delta2 × × × × × × 〇*1
TP-LINK tapo × ×
RATOC RS-WFIREX3 × × × 〇*1
監視カメラ(COOAU) × × × × × ×

*1 カスタムコンポーネント導入で可能

例えば、HEMS Panasonic AiSEG2から発電、使用電力を取得して余力がある時だけ何をを実行といったオートメーションが組めるようになります。

今回実現したこと

  1. Panasonic AiSEG2(HEMS)から発電量と消費量を取得して発電余力を求める
  2. 余力がある時にEcoFlow delta2を充電する
  3. 夜間充電した電力でサーバを稼働させる
  4. この一連のサイクルをオートメーション化する

はい。できました(笑)

iPhone Home Assistant

iPhoneのHome Assistantアプリからアクセスするとこんな感じです。

実現方法

Home Assistantがあらかじめ対応している機器に関しては何もしなくても認識させられるのですが、残念ながら日本ローカルの AiSEG2は対応していません。そういう時はカスタムコンポーネントというのを作ることによって自由に機能を追加できます。AiSEG2から現在の発電量等を抜いてくるコンポーネントは無かったのでchatGPTさんにお願いして作りました(笑)

https://github.com/realktmr/hass_aiseg2_solpwr

GitHubを使ったのもPyhonでプログラムを書いたのも初めてだったのですが、AI素晴らしいですね。chatGPTとGeminiさんに教えてもらいながら作ってみました。

インストール方法

  1. GitHUBからCode -> Download ZIPでファイルを全部ダウンロードする。
  2. Home Assistantのconfigディレクトリにアサインしたフォルダにcustom_components/aiseg2_solpwrごとフォルダもファイルも置く。
  3. Home Assistantの設定-> … -> Home Assistantを再起動で再起動する
  4. 上がってきたら設定 -> デバイスとサービス から +統合を追加 を選んで、AiSEG2 Solar Powerを探して追加。IP、Username(aiseg固定)、Password(あなたがつけたもの)を入力して追加

これで、「発電量」「消費量」「余力」が出ているはずです。

EcoFlow delta2へのアクセスは Ecoflow-Cloudというカスタムコンポーネントが公開されており、これを使うことで簡単にアクセスできます。

EcoFlowアプリでも手動で設定できる【エネルギー管理】-> 【バックアップ予約】を有効にして、電池を利用するレベルを設定できます。例えばこの設定を20%に設定すると、入力ACプラグを挿していてもバッテリー残量が20%になるまで、電池から出力してくれます。20%を切ると充電を開始します。が20%まで充電するとパススルーでAC入力から出力します。

この機能を利用して、以下のようなオートメーションを組んでいます。

【前提】 DELTA2のエネルギー管理設定で充電限度 90%、放電限度 10%に設定。

【充電開始】 発電余力が 1.0kWhを超えたとき、Delta2のBackup Reserve EnabledがONだったらBackup Reserve EnabledをOFFにする。(これによって90%までAC入力から充電されるようになる)

【放電開始】 18:00になった時、DELTA2のMain Battery Level が80%以上あったら、Backup Reserve EnabledをONにしてDELTA2の Backup Reserve Level を 20%に設定にする(これによって、20%までは電池から放電する。20%を下回ったら20%まで充電する。しかし基本的には20%の時点でパススルー運転になるので次の日の充電開始までパススルー運転を実現している、ちなみに、OFFにしてONにするとデフォルトの50%に戻ってしまうようだ。また、ONにしてからじゃないとReserve Levelの設定ができない)

はい。これで太陽光発電の余力を使って充電し、DELTA2を普段使いするといった使い方が実現できました 🙂

蛇足

本当は、余力が0を切ったら電池から放電って設定にもできるのですが、これをやると頻繁に電池運転に切り替わり、そのたびにリレーがカチカチ切り替わりなんか壊れそうな気がして(笑)

蛇足ですが、DELTA2はUPSではないので電池出力とACパススルーの切り替えに時に数ミリ秒切れてしまうのでPCなんかは電源落ちてしまいます。私はもともと使ってたAPCのRS550というUPSを嚙ましているので問題はないですが、それでも頻繁な切り替えは寿命を著しく縮めると思います。

そんな訳で、ちょっと妥協したオートメーションを組んでいますが、まぁ、十分かと。

他に、NASyncを置いてる部屋の温度計と連携して部屋の温度が32℃を超えたら自動でエアコンを掛けて30℃を下回ったら止めるオートメーションを組んだり。電力余力がなくなったら、29℃以下だったらエアコンを止めるオートメーションを組んだり。いろいろできるかと。

面白い使い方を思いついたらぜひ教えてください。

ポート開放が要らないVPN

背景

自宅回線をMoneyForwd 光に変更した結果、v6Plus接続になりダイナミックDNS等でのVPN接続は難しくなったしまったので、別の方法を探していました。

やりたいこと

  • 自宅のHEMSなどにiPhoneからアクセスしたい
  • UGREEN NASyncのdockerコンテナで実現したい

TailScale

探した結果、TailScaleというサービスがあることを知りました。イメージとしてはクラウド上にあるルーターにVPN接続したい機器がVPNを張りに行ってそこでルーティングしてもらう感じですね。なので、OUT方向が通れば固定IPやポート開放ができなくてもOKです。

TailScaleはPersonalプランという無償プランがあります。 3 Users 100 Devicesまで無料というなんとも太っ腹なサービス! 素晴らしい(笑)

早速やってみる

  1. iPhoneでTailScalアプリをダウンロード
  2. 新規にアカウント作成してVPN接続!
  3. PCからTailScalの管理ページに入りSettings -> Keysで Auth KeysをGenerate Auth keyをポチっとと押してキーを払い出しコピーしておく
  4. UGREEN NASyncでdockerアプリからプロジェクト作成で適当なプロジェクト名(vpnなど)と保存パス(docker様にアサインした共有フォルダがいいでしょう)を指定して、以下の内容をCompose設定に記載して今すぐデプロイ!
version: "3.8"

services:
  tailscale:
    image: tailscale/tailscale:latest
    container_name: tailscale
    hostname: nasync
    network_mode: "host"
    privileged: true
    volumes:
      - /var/lib:/var/lib
      - /dev/net/tun:/dev/net/tun
    environment:
      # Tailscale 管理画面で作成した AuthKey を入れる
      - TS_AUTHKEY=tskey-auth-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      # LAN 全体 (192.168.1.0/24) を iPhone に広告
      - TS_EXTRA_ARGS=--advertise-routes=192.168.1.0/24
    restart: unless-stopped
  1. TailScaleの管理ページからMachinesを見ると、iPhoneとnasyncが繋がってるはず!nasyncの…からEdit route settingsを選んで目的のサブネットにチェックを入れて保存すればそのサブネットに行けるようになります。

Machines Edit Route Settings

超簡単で素晴らしい!(^_^)/

HP ProNote Aero G8 Bluetoothが見えなくなる

原因は定かではないのですが、Windows 11 24H2累積更新(KB5062553)を適用したあたりからBluetoothホストが完全に見えなくなり、一切のBluetoothが使えなくなりました。

とりあえず、BIOSで有効になっているかの確認をしたり、HP System Diagなど掛けたりした結果、いつの間にか見えてました。。。(恐らく、タイミング的にはSystem Diagだと思います。詳細モードでテストした結果オールクリアでした。)

まぁ、釈然としないですが、以前にもUSB給電での充電ができないという問題があったなぁ。。。

HP ProBook 635 Aero G8でtype-c給電できない | Lamb EDEN

SoftBank光からマネーフォワード光に乗り換えた話

値上がりを機に脱SoftBank完了です。移行先はMoneyForward光という家計簿サービスマネーフォワードのコラボ回線で USEN NETWORKSが運営しているUSEN光01というサービスのコラボ商品です。PPPoEは払い出さず、v6プラスのみの提供にある代わりに戸建てで税込み4950円しかもMoneyForward MEのプレミアムサービス・スタンダード(月額500円)が無料になるという私にとってはとても嬉しいサービスです 🙂

切り替えすったもんだ

切り替えは以下の手順で進んでいくんですが、切り替え当日、SoftBank光が終了せず、USEN側の作業が進まずビビりました。。。

  1. MoneyForward光に仮申し込みする
  2. SoftBank光に事業者変更承諾番号を発行してもらってUSENに連携
  3. 当日にSoftbankのモデムを外しておく?(これが必要?私は繋いだままだったらいつまで経っても切り替わりませんでした。。。)
  4. SoftBankのユーザページ(解約手続きすると開設される)でステータスを確認
  5. ルーターの再起動(IPv6アドレスが変わるのでrenewコマンド叩くか、まぁ、再起動した方が楽)

以上

速度は?

SoftBank光PPPoE接続( 7/31 19:00ごろ)
MoneyForward光(USEN光01) (8/1 20:00ごろ)

MoneyForward光の方が微妙に遅い気もするけど、まぁ、誤差レベル?これで、MoneyForward料金込みだと月千円くらい下がるなら全然いいです。しかし、なんでISPがauとでてるんだろう?昔auのアドレス空間だったとかですかね。まぁ、そもそもJPIXのv6プラスサービス使ってるのでJPIXのIPな気がしますが。

注意点

MoneyForward光はv6プラス形態の接続です。ユニークGlobalはアサインされず、ポート番号をいくつか割り振られる感じのようです。なので、公開サーバとかしたい人には向かないです。

ちなみに、UGREEN NASはUGREEN Linkサービスを使えば普通に使えます 🙂