Bルート Wi-SUN HEMS 消費電力取得1回目 (422レス)
1-

26: 2022/12/27(火)19:01 AAS
スマートメーターの瞬時電力や履歴をWebブラウザで見る
外部リンク:neocat.hatenaブログ.com/entry/20160117/1453021993
これもいいかも? LinuxでC++使用。

※NGに引っ掛かって投稿できなかったんで「ブログ」はアルファベットに置き換え
27: 2022/12/27(火)19:17 AAS
スマートメーターの情報を最安ハードウェアで引っこ抜く
外部リンク:qiita.com
最小限のサンプルプログラムのみ。グラフ化なし。
28
(2): 2022/12/27(火)20:19 AAS
Pythonでスマートメーターの情報を引っこ抜く
外部リンク:qiita.com
python3で瞬時電力取得。グラフ化なし。
29: 2022/12/27(火)20:53 AAS
ミルエネのUSBドングルを使ってDatadogで電力見える化
外部リンク:qiita.com
ネットサービスに依存しているので継続的に使えるか不明。
30: 2022/12/27(火)21:09 AAS
スマートメーターから取得した電力消費量を可視化する
外部リンク:qiita.com
ネットサービス(IIJ)に依存しているので継続的に使えるか不明。
31: 2022/12/29(木)23:07 AAS
最初は作動試験を兼ねて文字で瞬時電力を取得しようと思い一番簡単そうな >>28 で実験。
一発で動くだろうと思ったらとんでもなかった。
作者とOSもWiSUNドングルも異なるせいでかなり改造しないと動かなかったが何とかできた。

% ./SmartMeter.py
Bルートパスワード設定
OK
Bルート認証ID設定
OK
Channel設定
OK
省14
32
(2): 2022/12/29(木)23:26 AAS
AlmaLinux 9.1 + Python 3.9.14
WiSUNドングルは UDG-1-WSNE
最初パッケージ不足でエラーになったため、dnf install python3-pyserial する必要があった。
>>28 の改造は動かない原因を調べるのが大変だったが、分かってしまえば大したことない。

GetSmartMeterPara.py の変更点
1. windowsじゃないのでSKコマンドはエコーバックされない。エコーバックの空読みを3箇所削除。
2. SKコマンドの方言でSKSCANに「0」を1つ追加する必要があった。さもないとエラー。
ser.write(str.encode("SKSCAN 2 FFFFFFFF " + str(scanDuration) + " 0\r\n"))
33
(1): 2022/12/29(木)23:48 AAS
SmartMeter.py の変更点
1. 同じく空読みをことごとく削除。
2. 同じくSKコマンドの方言。
command = "SKSENDTO 1 {0} 0E1A 1 0 {1:04X} ".format(Address, len(echonetLiteFrame))
res = cols[9]
3. ループしているうちに無線の一時的障害なのか行がずれて電力が全く表示されなくなる不具合が出た。読んだ回数ではなくwhileでERXUDPの行を抽出するように以下を追加。
while not Data.startswith("ERXUDP"):
Data = ser.readline().decode(encoding='utf-8')
34: 2022/12/29(木)23:50 AAS
↑ 5chがインデントを削除してしまうのでwhileのインデントは想像してね。
35: 2022/12/30(金)00:07 AAS
気になったのは、スマートメーターが1500Wの時にクランプメーターの実測が18Aくらい
つまりスマートメーターの電力値は有効電力ってことだよな?
エアコン暖房が動いてたし無効電力が影響したと考えれば辻褄は合う
調べたことなかったけど家庭の力率ってこんなもの?
力率悪いと有効電力が低くてもリミッタ作動するよね?
36: 2022/12/30(金)00:13 AAS
>>32 >>33
書き忘れてた。両方ともデバイスの書き換え必要。
serialPortDev = '/dev/ttyACM0'

WiSUNドングルを挿すだけで自動的にttyACM0で通信可能になった。
37: 2022/12/31(土)00:48 AAS
>>1
Bルート用 Wi-SUN USBドングル製品(半田付とか工作必要な物は除外)

・RL7023 Stick-D/IPS
外部リンク[html]:www.tessera.co.jp
アマゾンやchip1stopで購入可能

・BP35C2
外部リンク:www.rohm.co.jp
chip1stopやマルツやRSオンラインで購入可能

・WSR35A1-00
販売終了?
省7
38: 2023/01/01(日)00:24 AAS
明けましてBルート
39: 2023/01/01(日)18:32 AAS
>>32
引数が増えたのはBルートかHANかの指定らしい。
0はBルート。
40: 2023/01/01(日)23:02 AAS
スマートメーターのBルート接続で自宅電力消費量をMuninしてみた
外部リンク:blog.andromeda.jp

ド安定と書いてあるのは良いんだけどmuninのグラフをwebで見るのは簡単なのかな?
41
(1): 2023/01/03(火)22:16 AAS
スマートメーター&計測ロガー
外部リンク:github.com

↑を試そうとしたら次々エラーで直し切れてない
今悩んでるエラー↓
Traceback (most recent call last):
 File "/home/user/keilog/kei.py", line 93, in <module>
  if not wdef['instance'].isAlive():
AttributeError: 'FileRecorder' object has no attribute 'isAlive'
42: 2023/01/03(火)22:41 AAS
あー
python 3.9 で isAlive が消されてた
何で名前変える必要があるのか
意味不明なことすんなよ python
43: 2023/01/08(日)12:32 AAS
>>41 を数日動かしてみたところ継続的にデータが取れてるようだ
時々電波状況が悪いのかデータが取れなくなり自動的に再接続してる
一部変更しないと動かなかったんで参考にする人がいるか知らんけどdiffを貼っとく
こちらの環境はLinuxでPython 3.9、Wi-SUNドングルはUDG-1-WSNE
UDG-1-WSNEはRL7023 Stick-D/DSSのSKコマンドと同じはずなんだがエコーバック有無が一部で異なるのかも知れん
44: 2023/01/08(日)12:40 AAS
kei.pyはPython 3.9の仕様変更に対応させた

% diff kei.py kei.py.org
40c40
< LOGFILE = fname[0] + '.log'
---
> LOGFILE = os.getcwd() + '/' + fname[0] + '.log'
92c92
< if not wdef['instance'].is_alive():
---
> if not wdef['instance'].isAlive():
45: 2023/01/08(日)12:54 AAS
keiconf.pyは各自固有の初期設定で、説明文から抽出した
記録するデータの種類と間隔は好みで

% diff keiconf.py keiconf.py.org
12c12
< wisundev = WiSunRL7023(port='/dev/serial/by-id/自分のWi-SUNドングル',
---
> wisundev = WiSunRL7023(port='/dev/serial/by-id/xxxxx',
14,15c14,15
< #type=WiSunRL7023.IPS
< type=WiSunRL7023.DSS
省21
1-
あと 377 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s