2026年 05月 08日

スマートメータから100V 2系統それぞれの電流値を得る

スマートメータから瞬間消費電力を読むRubyのコードをT相・R相の電流値(100Vの2系統)をとるように修正した。

仕様上は0.1A単位でとれるみたいだけど、実際は1A単位にまるめられてしまうみたい。なので細かいことはわからない。

うちの分電盤の場合、図面を確認すると交互に配線 (L1N, L2N, L1N, L2N) されているようで、奇数番目がR相、偶数番目がT相になっているようだった。

何が嬉しいか? というと電流値を見ることで、ブレーカーを落としたりしなくてもT相系かR相系かまでは特定できる。

あと力率がある程度わかるかな。コイル負荷か抵抗負荷かぐらいの種類をある程度推測できる。

--- smartmeter.rb.orig	2026-05-08 08:43:13
+++ smartmeter.rb	2026-05-08 20:30:44
@@ -385,7 +385,7 @@
 				ECHONET_Lite::EOJ.new(0x05, 0xFF, 0x01),
 				ECHONET_Lite::EOJ.new(0x02, 0x88, 0x01),
 				0x62,
-				3,
+				4,
 				[
 					ECHONET_Lite::Property.new(
 						0xe7,
@@ -399,6 +399,11 @@
 					),
 					ECHONET_Lite::Property.new(
 						0xe0,
+						0x00,
+						""
+					),
+					ECHONET_Lite::Property.new(
+						0xe8, # 瞬時電力
 						0x00,
 						""
 					),
@@ -494,6 +499,8 @@
 				unit = nil
 				energy = nil
 				watts = nil
+				r_amp = nil
+				t_amp = nil
 				frame.edata.properties.each do |prop|
 					p prop
 					case
@@ -512,16 +519,26 @@
 						#0x0C:1000kWh
 						#0x0D:10000kWh
 						unit = UNIT_KW[prop.edt.unpack("C")[0]]
+
+					when prop.epc == 0xe8 && prop.pdc == 4
+						# 符号付き16bitビッグエンディアン2つ分をアンパック
+						r_raw, t_raw = prop.edt.unpack("s>2")
+						r_amp = r_raw / 10.0
+						t_amp = t_raw / 10.0
 					end
 				end
 
-				puts "%.1f kWh / %d W" % [energy * unit, watts]
+				puts "%.1f kWh / %d W (R: %.1f, T: %.1f)" % [energy * unit, watts, r_amp, t_amp]
 
 				body = ""
 				body << "# TYPE consumed_power GAUGE\n"
 				body << "consumed_power #{watts}\n"
 				body << "# TYPE consumed_energy COUNTER\n"
 				body << "consumed_energy #{energy * unit}\n"
+				body << "# TYPE consumed_current_r GAUGE\n"
+				body << "consumed_current_r #{r_amp}\n"
+				body << "# TYPE consumed_current_t GAUGE\n"
+				body << "consumed_current_t #{t_amp}\n"
 				
 				require 'net/https'
2026年 04月 16日

✖

4日前ぐらいから肛門が痛い。余ってたヘモレックス軟膏塗ってたがいまいち良くならず。去年の1月にもひどくなったことがあったけど、また結構ひどい感じなので病院に。自分で見えないし判断が難しいから病院行くしかないんや……

結局、血栓性外痔核と裂肛。痛みは裂肛のほうが主因で、血栓性外痔核はもともと座りっぱなしであったのを気付いただけでは? という話。わからんが最近はほとんど寝て過ごしているんだけどなあ。

「血栓性外痔核は外の痔なので中には戻せません」ということが重要。まぁこれの判断(中に戻すべきなのかどうか)を訊きにいくのがメインなのでわかってよかった。

結局ヘモレックス軟膏とヘモナーゼを処方されるだけなのだが…… 痛い

2026年 04月 14日

ギルドと商工会議所

ふと検索かけたらまた渋沢栄一かよという気持ちになった

2026年 04月 11日

✖

盗難自転車が戻ってきたので鍵の付替。特に何も難しいところはなく、今までのを外して注文済みのをそのままつけた。取り付け金具が複数ついてくるけど一番細いもの用が適用できた。
注意点は取り付けがわずかに歪むとロックをしにくくなるぐらいか

asin:B00N44U4D2:detail

自転車的には綺麗なままに見える。放置自転車経由で警察に連絡があり隣駅かどこか(詳しい場所は不明)で見つかったらしい。特に回収費用はかからず。盗難届はなるはやで出すべきだということは確か。やっすい自転車だからカジュアル窃盗なのだろう

✖

アニメ『違国日記』を見た。良かった。そして最後まで見た結果一番「乾いた寿司は食べるに値しない」が印象に残っていた。原作にはないらしい。あそこ格好良すぎるだろ

2026年 04月 10日

✖

delta を入れて設定してみて数日つかってみたけど馴染まなかった… 追加された行がなんかわかりにくい。結局 diff -u に戻ってしまった。設定がわるかったのかな……

✖

『ハケンアニメ!』をプライムで見た。よかった

2026年 04月 09日

✖

vs GPT-5.4

もしかしてこういうタスク(ニュアンス調整・法的リスクバランス・コンテンツとしての面白さ・主張の正当性)などを連結して評価しながら文を書くのは、単にコードを書くよりもかなり難しいタスクか?

はい、かなり難しいです。
コードを書くより難しい場面は普通にあります。

理由は、評価軸が1つではないからです。

  • 日本語として自然か
  • キャラの掛け合いとして自然か
  • 動画としてテンポがいいか
  • 事実とズレていないか
  • 法的リスクを上げていないか
  • でも弱すぎて伝わらなくなっていないか
  • 視聴者の感情導線として成立しているか
  • 字幕/TTS単位でも破綻しないか

コードなら、少なくとも一部は

  • 動く / 動かない
  • テストが通る / 通らない

で切れます。
でもこの種の文章は、ほとんどが連続値で、しかも軸同士が衝突します。

たとえば

  • 面白くするとリスクが上がる
  • 正確にするとテンポが落ちる
  • 安全にすると弱くなる
  • 字幕向けにすると日本語が不自然になる

ので、単純最適化ができません。
しかも最終判断は「人がどう感じるか」なので、機械的な正解がありません。

今回の作業が難しいのは、単なる文章生成ではなく、

  • 編集
  • 法務的セルフチェック
  • 脚本
  • UI/字幕設計
  • 論証の整合確認

を同時にやっているからです。

なので、難しいという認識で合っています。
むしろ普通のコード修正より難しい局面が多いです。

2026年 04月 07日

✖

盗難届を出していた自転車が見つかったらしい。放置自転車から警察への問い合わせがあり、警察で回収したとのこと。奇跡だね。元の形のままらしい

実際に(妻が)いったら鍵がかかっており回収できず後日に。なんか警察の担当 (個人) がいないと受けとれないシステムらしい。上司とかも対応しないらしい。組織とは

なんかいろいろ微妙な警察の対応を聞かされる。最近『教場』を見てたのだが、まぁあれはフィクションにしても、本当に警察学校って存在しているのだろうかと思う。見つかりはしたから文句いうのもあれだけど……

asin:B00N44U4D2:detail

鍵を交換する必要があるので注文しておいた (鍵をつけっぱで盗まれたため犯人が鍵を持っている)

2026年 04月 04日

✖

一旦特定の問題に見切りをつけた。ので詰み残しているタスクはないはずなのだが不安は消えず