ホーム » T-Saitoh (ページ 18)
「T-Saitoh」カテゴリーアーカイブ
自作スクリプトのエラー対策 try-catch
自宅で動かしているスクリプト、自前だから手抜きもあって、サーバトラブル時には他の機器が巻き込まれてエラーが増えることも多い。自室の homebridge などを動かしている Raspberry-Pi が暑さもあってか、再起動させたら一時的に気絶。復旧は問題なかったけど、気絶中に他の外気温測定のRaspberry-Pi がブローカーとなっている Raspberry-Pi が落ちているため、MQTT のデータ送信に失敗のエラーを出してる。
ちゃんと、connect で出るエラーを try-except で例外処理を追加した。
try : client = mqtt.Client( ... ) client.connect( BROKER ) client.publish( ... ) except ValueError as err : print( err ) except OSError as err : print( err )
以前から、トラブル時にウザいのが、Perl で書かれた RSS 情報をまとめるスクリプト。Perl での try-catch もどきということで eval{} if ( $@ ) … でエラー対策してるつもりなんだけどトラブル時のエラーがうまく動いていないような。今回あらためて、Perl try-catch で検索したら、Perl 5.34 で try-catch が実験的にサポートされているらしいので使ってみた。
use feature qw( try ) ; no warnings "experimental::try" ; : try { $feed->merge( $rss ) ; } catch( $e ) { print "catch $e" ; } # eval { $feed->merge( $rss ) ; } ; # if ( $@ ) { # warn "..." ; # }
暑さ指数 WGPT 28℃
WBGT 28で作業奉仕…(>_<)
猛暑日 35.5 ℃越え
家の中で 35.5° を超えてる。
スクリプト言語の比較
Raspberry Pi で、自宅内の温湿度管理とか色々やっていて、shell や perl や python などのスクリプトを使っているけど、ただでさえ遅い Raspberry-Pi だし、少しでも軽く動いてほしくて、lua なども使っている。
でも、shell だと、bash で書いているけど、高機能な分だけ遅いし、少しでも軽くなればと、インストールされているスクリプト言語のサイズを改めて比較をしてみた。
$ ls -al <いろいろ> -rwxr-xr-x 1 root root 14000 1月 2 2021 /usr/bin/lua50 -rwxr-xr-x 1 root root 91904 12月 10 2020 /bin/dash -rwxr-xr-x 1 root root 92292 12月 22 2018 /bin/sed -rwxr-xr-x 1 root root 120704 2月 17 2020 /usr/bin/mawk -rwxr-xr-x 1 root root 133048 8月 1 2016 /usr/bin/lua5.1 -rwxr-xr-x 1 root root 974312 3月 28 2022 /bin/bash -rwxr-xr-x 2 root root 3201036 9月 25 2021 /usr/bin/perl5.32.1 -rwxr-xr-x 1 root root 4703672 3月 12 2021 /usr/bin/python3.9
個人的には、軽いスクリプトというと、sed < awk < lua < bash < perl < python というイメージで使い分けをしていた。
しかし、これを見ると、bash と dash で10倍の差、軽くなればと使っていた lua だけど、lua5.1 と lua50 でも 10 倍の差がある。perl だと bash の 3倍、python だと bash の5倍。バイナリのサイズが単純に処理速度に反映される訳ではないけど、これを見る限り、自分で書いている手抜きスクリプトであれば、dash や lua50 で動かした方がよさそうだな。
また、下手に Perl を使うぐらいなら、bash の中で sed や awk を交えながらスクリプトを書くことも多いけど、下手に bash の中で sed や awk をガシガシ使ったら、あんまり早くなさそうだな。
これからは、lua50 < dash < sed , awk < bash < perl < python かな。
エコキュートと電気料金
エコキュート導入で、電気の契約がくつろぎナイト12に変更となり、契約変更から1月経過したので比較してみた。
下記グラフは、電気料金と電気使用量の2022年,2023年のグラフ。縦軸はあまり節電できていない状況がバレバレになるので隠しておく。
![]() |
電気使用量と電力内訳 |
![]() |
電気料金 |
これを見ると、2023/6月は電気使用量は増えているけど、料金は大きく変わっていない。2023/4月より北陸電力は電気料金が40%増となったけど、エコキュートのくつろぎナイト12の適用により、夜間電力■やウィークエンド電力■は値上げ前の電気料金よりも安くなっている。値上げとなってるピーク電力■は全体の30%ほどにすぎない。このため、エコキュートの利用や暑くなりエアコンなどでの使用電力も増えているのに電気料金はほぼ同じとなっている。料金値上げがなければ、エコキュート導入で電気料金が下がるのが普通なんだろうけど。
よく出来たフィッシングだな….
コロナ感染入院給付金の請求
と思いフィルタ設定をしようと “Received:”タグを確認して、送信元の IP アドレスを確認したら本物だった。
改めて、日本生命さんのサイトに”メールのリンクを使わずに”ログインして確認してみたけど、しっかり自宅サーバのメアドも登録してあった。
<重要>【三井住友カード】お取引が決済できませんでした
((( /etc/postfix/main.cf ))) smtpd_client_restrictions = permit_mynetworks, check_client_access regexp:/etc/postfix/smtpd_client_regexp : ((( /etc/postfix/smtpd_client_regexp ))) : /\.googleusercontent.com$/ REJECT