11
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Omron BY50S を Linux で使う (udev のイケてる設定編)

Last updated at Posted at 2018-10-02

長年 APC の UPS を使ってきたけど、ちょっと変えてみようということで Omron の BY50S を買ってみた。

おおむね有難い先人の情報で事足りるのだけど……

しかし、日本語の情報はみんなudevの設定が微妙だ
というわけでDebian stretch での設定を記録しておく。

UPS 監視デーモンを入れる

$ sudo apt install nut

udev の設定

udev を設定して USB を挿した時に nut デーモンから読めるよう設定する。このパートが書きたかった事の殆ど全てである。

ポイントは2つ

  • 自分の設定ファイルは /etc の下に置こう
  • SYMLINK を使ってデバイスのパスを固定しよう

みんなが罠にはまっているけど、パッケージで用意される /lib/udev/rules.d/62-nut-usbups.rules を直接編集するのはやめよう。アップデート時に上書きされて後日泣くことになる。あと、分離できなくなるので自分の設定ファイルを /lib/udev 以下に置くのもやめよう。

というわけで自分のファイルは用意されている /etc/udev/rules.d 以下に置く。/etc/udev/rules.d/90-omron-ups.rules とかの名前にしておこう。
中身はこうだ

# Omron BY50S - blazer_usb
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
ATTRS{idVendor}=="0590", ATTRS{idProduct}=="0081", \
MODE="0664", GROUP="nut", SYMLINK+="ups"

ここでもう一つのポイントとして SYMLINK+="ups" を使おう。これで 常に /dev/ups というパスでアクセスできる。どこのポートに挿しても、同じクラスのデバイスの何番目に指してもOKだ。USB のバス番号を調べる必要もない。

設定が終わったらルールをリロードする。

$ sudo udevadm control --reload

この後 USB を抜き差ししてみて、/dev/ups と言う symlink が作られる事を確認しよう。

監視デーモン nut の設定

後は先人の情報通り設定ファイルを編集する。

/etc/nut/nut.conf

MODE=standalone

/etc/nut/ups.conf

[by50s]
driver = blazer_usb
port = /dev/ups
desc = "Omron UPS BY50S"
vendorid = 0590
productid = 0081
subdriver = ippon
default.battery.voltage.high = 13.5
default.battery.voltage.low = 11.5
default.battery.charge.low = 30
ondelay = 0

port に先程の /dev/ups を指定する。
default.battery.voltage の high /low に関しては情報通りの値を使わせして貰った。こちらでも上手く動いている。

/etc/nut/upsmon.conf

MONITOR by50s@localhost 1 upsmon upspass master

/etc/nut/upsd.users

[upsmon]
password = upspass
upsmon master

設定のチェック

ここまで設定したら以下のコマンドでチェックする。

$ sudo -u nut /lib/nut/blazer_usb -a by50s -DDD

read: の行でそれらしき値が出てくるならOK. Ctrl+C で止める。

設定の適用

systemctl でやっても良いんだけど面倒くさいので init script で……

$ sudo /etc/init.d/nut-server restart
$ sudo /etc/init.d/nut-client restart

状態の確認

upsc で見られる

$ upsc by50s
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 30
battery.voltage: 13.50
battery.voltage.high: 13.5
battery.voltage.low: 11
device.type: ups
driver.name: blazer_usb
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ups
driver.parameter.productid: 0081
driver.parameter.subdriver: ippon
driver.parameter.synchronous: no
driver.parameter.vendorid: 0590
driver.version: 2.7.4
driver.version.internal: 0.12
input.frequency: 49.9
input.voltage: 102.5
input.voltage.fault: 0.0
output.voltage: 102.1
ups.beeper.status: disabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 13
ups.productid: 0081
ups.status: OL BYPASS
ups.temperature: 47.7
ups.type: offline / line interactive
ups.vendorid: 0590
11
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?