switchbot-cli のインストール
Switchbot を linux のコマンドラインで制御する nodejs のプログラム switchbot-cli が公開されている。
switchbot-cli
https://github.com/shizuka-na-kazushi/switchbot-cli
インストールも簡単。最初の起動時の token,secret の登録の時に、入力がエコーバックされないので戸惑ったけど。
$ sudo npm install -g switchbot-cli $ switchbot-cli : First please register 'token' and 'secret' obtained by SwitchBot mobile app: token: トークンを入力(エコーバックされない) secret: シークレットを入力(エコーバックされない) $ switchbot-cli device list ------- device list -------- deviceId deviceType deviceName yyyyyyyyyyyy "remote with screen" "学習リモコン" zzzzzzzzzzzz "MeterPro(CO2)" "温湿度計CO2・リビング" : aaaaaaaaaaaa "Hub Mini" "switchbot-hubmini" ------- infrared remote list -------- deviceId deviceType hubDeviceId deviceName bb-bbbbbbbbbbbb-cccccccc "Air Conditioner" aaaaaaaaaaaa "エアコン" bb-bbbbbbbbbbbb-dddddddd "DIY Fan" aaaaaaaaaaaa "扇風機" bb-bbbbbbbbbbbb-eeeeeeee "DIY Light" aaaaaaaaaaaa "リビングの照明" : bb-bbbbbbbbbbbb-ffffffff "TV" aaaaaaaaaaaa "テレビ"
設定は、$HOME/.cache/switchbot-cli/cert.json に保存されている。
使い方
((( 温湿度計CO2 を読み取る )))
$ switchbot-cli device -d zzzzzzzzzzzz status
{
"statusCode": 100,
"body": {
"version": "V1.6",
"temperature": 22.7,
"battery": 100,
"humidity": 57,
"CO2": 859,
"deviceId": "zzzzzzzzzzzz",
"deviceType": "MeterPro(CO2)",
"hubDeviceId": "000000000000"
},
"message": "success"
}
((( 赤外線リモコン経由で TV をつける )))
$ switchbot-cli device -d bb-bbbbbbbbbbbb-ffffffff turnOn
赤外線リモコンで、特定のボタンを操作したいんだけど、現時点のバージョンではできないみたい。
Ubuntu25とWaylandとgdm
先日、Ubuntu24から25にアップグレードを行ったけど、Muninのusersプラグインに、今までにないttyとOther users の出力が出るようになっている。
確認すると、gdm が 2つ 出力されている。不気味だし、Gemini に gdm に聞いてみたら、どうやら Ubuntu 25 の導入で X11 が Xorg から Wayland に切り替わって gdm セッションが login 情報として表示されるようになったらしい。
gdm seat0 2025-05-23 23:04 gdm tty1 2025-05-23 23:04 <<myid>> sshd pts/0 2025-05-22 19:36 (192.168.xx.xx)
Ubuntu 25.04 アップグレード
Ubuntuに Desktop で入ったら、Ubuntu 25.04 (Plucky Puffin)が出てるしアップグレードする?ってでたから、インストール。

![]()
ほとんど問題なく立ち上がると思ったけど、再起動後 apache2 が起動しない。php8.3 から php8.4 に移行されていたので、モジュールを追加インストール。トラブルと面倒そうなメール周りは、特に問題なし。
# apt install `dpkg -l | grep php8.3 | awk '{print $2}' | sed s/8.3/8.4/`
NFSが動かなくなってるな。”systemctl start nfs-kernel-server”で動き出した。systemctl enable nfs-kernel-server もやっとくか。
iPhone写真を icloudpd で同期
iPhoneの写真も大量になり、iCloud+ 200GB で保存しているけど、自分のサーバに保存したい。
Gemini に聞いたら、icloudpd を紹介してくれた。
((( インストール ))) $ pip install icloudpd : Successfully installed icloudpd-1.27.4 ((( 実行 ))) $ icloudpd --directory /data --username my@email.address --watch-with-interval 3600
うーむ、認証などの処理がうまくいかない。ひとまず、pip uninstall …
castnowでchromecastにwebページを表示させる
$ sudo npm install castnow -g
[Windows11] 24H2更新後「組織のセキュリティポリシーによって非認証のゲスト アクセスがブロックされている」
GWのお出かけでママがPC使う中、サーバ上のファイルを読もうとするけどトラブル…。
「組織のセキュリティポリシーによって非認証のゲスト….」といったメッセージで接続できない。Windows11 24H2 の更新が原因のようで、samba に SMB署名をつける設定が必要な様子。
下記の設定を加えればいいみたい。動作検証は帰ってからだな。
((( /etc/samba/smb.conf ))) client signing = mandatory server signing = mandatory
(追記)
もしかしたら、サーバ以降の中、samba にママアカウント登録がしてなかっただけ? (笑)
$ sudo pdbedit -a -u <<ユーザ名>>
homebridge-people-pro + inotify 検出処理
homebridge-people-pro による、WiFi ping を使った在宅確認をしていたが、その検出状態を Linux の inotify 機能で、様々な通知を行う処理を自作運用中。
しかし、最近、自宅にいる状態なのに外出検知をすることが発生中。WiFi で ping で調べる仕組みだけど、サーバの負荷を上げないように、ping 間隔は 約1分間隔で設定していた。ping に失敗することも多いようなので、 ping 間隔を 約30 秒に変更。
Ubuntu 24.04 LTS を 24.10 normal に更新
ただのメモ
自宅サーバを更新するにあたって、Ubuntu 24.04 LTS を入れたけど、以前の Debian では testing で運用していたし、Ubuntu も LTS より 新しくさせたい。
ということで、Ubuntu 24.04 LTS(Noble Numbat) から 24.10 normal(Oracular Oriole) に更新。
$ sudo apt install ubuntu-release-upgrader-core $ sudo vi /etc/update-manager/release-upgrades ((( 修正 ))) # /etc/update-manager/release-upgrades - Prompt=lts + Prompt=normal $ do-release-upgrade
inotify-tools ふむふむ
homebridge-people-pro で ping 相手の有無を検出できるが、これに合わせて通知をしたい。
shell script で実現しようと思うと、crontab で file-exist と思うけど、crontab の頻度と通知の遅れのトレードオフ。
でも、ファイルシステムイベント監視の inotify(7) を活用してくれる inotify-tools の中に、inotifywait / fsnotifywait というコマンドがあるのか。これなら、shell script で実現できそうだな。
sambaをWindowsのネットワークで表示
以前から、samba を運用しているけど、エクスプローラのネットワーク検索で、samba サーバが見えない。
なにげなく、Gemini に問い合わせをかけてみたら wsdd(Web Services on Devices (WSD) daemon) をインストールする方法を教えてくれた。あらためて、wsdd でググったら、wsdd2 ならインストールするだけとのことであった。ということで、”apt install wsdd2″ でインストール。今までなら、IPアドレス直打ちとかしていたけど、他の PC から簡単に見えるようになった。




