YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-10 (水)


[一語一絵/IT系]

スマートプラグ / 2022-06-30 (木)

大変不自然な折れ線グラフ
冷蔵庫の消費電力

Gosundのスマートプラグに置き換えて、浮いた[External]SwitchBotプラグを4月の中旬からは冷蔵庫に移設し、アプリでモニタしたところリアルタイム値は4~140Wで遷移していたのだが、月単位の消費電力値は5~8Kwhでしかないことに気づいた。

日毎のグラフで見るとゼロの日も少なくなく「テレビだからそんなもんかと思ってたのだが、冷蔵庫なのにゼロな日があるわけないやろ」と突っ込みたくなった。

2020年から贔屓にしているSwitchBotシリーズだが、なかなか難しいなぁ。

【参照】
●SwitchBot https://www.switchbot.jp/
SwitchBot(スイッチボット)ハブミニ
SwitchBot(スイッチボット)プラグ
SwitchBotプラグミニ
●Amazon.co.jp https://www.amazon.co.jp/
SwitchBot スイッチボット プラグミニ スマートプラグ 1,980円
SwitchBot スイッチボット Hub Mini 3,980円
●Wikipedia https://ja.wikipedia.org/wiki/
スマートホーム


[一語一絵/IT系]

tinytuyaとtuyapi / 2022-06-29 (水)

消費電力が確認できるGosundスマートプラグの続報。

Python API for Tuya WiFi smart devices using a direct local area network (LAN) connection or the cloud (TuyaCloud API).
[External]jasonacox/tinytuyaより

デバイスID'18261828c4dd57XXXXXX'とローカルキー'7e5f08badbYYYYYY'が取得できたので、クラウドではなくLAN経由に対応している(らしい)[External]tinytuyaにトライ。

まずはpython3とtinytuyaをインストールし、"tinytuya scan"でスマートプラグのIPアドレスを調査。

yano@haswell:~$ sudo apt install python3 python3-pip
yano@haswell:~$ python3 -m pip install tinytuya
yano@haswell:~$ python3 -m tinytuya scan

TinyTuya (Tuya device scanner) [1.7.2]

Scanning on UDP ports 6666 and 6667 for devices (15 retries)...

Unknown v3.3 Device   Product ID = keyneruwsdethu7u  [Valid payload]:
    Address = 172.16.NN.MM,  Device ID = 1826182870039fXXXXXX, Local Key = ,  Version = 3.3, MAC =
    No Stats for 172.16.NN.MM: DEVICE KEY required to poll for status
Unknown v3.3 Device   Product ID = keyneruwsdethu7u  [Valid payload]:
    Address = 172.16.NN.MM,  Device ID = 18261828c4dd57XXXXXX, Local Key = ,  Version = 3.3, MAC =
    No Stats for 172.16.NN.MM: DEVICE KEY required to poll for status

Scan Complete!  Found 2 devices.

>> Saving device snapshot data to snapshot.json

yano@haswell:~$
"tuyapower"だとこんな感じ。
yano@haswell:~$ python3 -m pip install tuyapower
yano@haswell:~$ python3 -m tuyapower
TuyaPower (Tuya compatible smart plug scanner) [0.2.0] tinytuya [1.7.2]

Scanning on UDP ports 6666 and 6667 for devices (15 retries)...

FOUND Device [Valid payload]: 172.16.NN.MM
    ID = 1826182870039fXXXXXX, product = keyneruwsdethu7u, Version = 3.3
    Device Key required to poll for stats
FOUND Device [Valid payload]: 172.16.NN.MM
    ID = 18261828c4dd57XXXXXX, product = keyneruwsdethu7u, Version = 3.3
    Device Key required to poll for stats

Scan Complete!  Found 2 devices.

yano@haswell:~$
プラグが複数ある場合はデバイスIDで識別可能だ。

IPアドレス、デバイスID、ローカルキーを~/smarthome/tinytuya/tuya_power_tv.pyに書いて

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# tuya_power.py as an example of using TinyTuya

import tinytuya
import datetime
import json
import sys

DPS_Current='18'
DPS_Power='19'
DPS_Voltage='20'

IpAddress="172.16.NN.MM"
DeviceId="18261828c4dd57XXXXXX"
LocalKey="7e5f08badbYYYYYY"

def get_plug_power():
    d = tinytuya.OutletDevice(DeviceId, IpAddress, LocalKey)
    d.set_version(3.3)
    dt_now = datetime.datetime.now()
    data = d.status()
    dps = data['dps']
    val_amp = dps[DPS_Current] / 1000
    val_watt = dps[DPS_Power] / 10
    val_volt = dps[DPS_Voltage] / 10
    print(dt_now, val_amp, val_watt, val_volt)

try:
    get_plug_power()
except KeyboardInterrupt:
    sys.exit(0)
を叩くと、
yano@haswell:~$ ~/smarthome/tinytuya/tuya_power.py
2022-06-29 00:00:44.129984 0.122 7.2 101.8
yano@haswell:~$
と消費電力値が取得できた。

【参照】
●ファームロジックス https://flogics.com/
スマートテーブルタップを Python から制御する 2022年2月2日
●Qiita https://qiita.com/
新版・中華製スマートプラグを node で制御する 2020年5月14日
pythonでsmartlife電源を操作 (脱IFTTT) 2021年8月8日
中華製スマートプラグ をAPIで操作する。(tuya-cli利用の代替案) 2021年1月23日
●Tuya Smart Developer Center https://iot.tuya.com/
●GitHub https://github.com/
codetheweb/tuyapi: 🌧 An easy-to-use API for devices that use Tuya's cloud services.
jasonacox/tinytuya: Python API for Tuya WiFi smart devices using a direct local area network (LAN) connection or the cloud (TuyaCloud API).
●Google Play のアプリ https://play.google.com/store/apps/
Go Smart
Tuya Smart
Smart Life
●Wikipedia https://en.wikipedia.org/wiki/
Tuya Inc.


[一語一絵]

九州北部梅雨明け / 2022-06-28 (火)

昨日の[External]関東甲信 東海 九州南部が梅雨明けに続いて、[External]九州北部~北陸も梅雨明け

近畿など北陸から九州北部が梅雨明け
[External]ウェザーニュースより

平年より21日も早い梅雨明けで、博多祇園山笠が始まる前というのは記憶に無い。

期間もわずか17日間というのは過去最も短い梅雨だった、という事になるそうだ。

期間が短かったので例年の3分の1程度という降水量に大騒ぎする必要はないが、すでに水不足で給水制限を行っている地域もあるので節水を心がけたい。

【参照】
●NHK https://www3.nhk.or.jp/news/
【気象予報士解説】なぜ暑い? 6月に40度超え 今後の見通しは 2022年6月25日
関東甲信 東海 九州南部が梅雨明け 関東甲信は最も早い 気象庁 2022年6月27日
九州北部~北陸 梅雨明け 100地点で猛暑日 熱中症に厳重警戒を 2022年6月28日
●ウェザーニュース https://weathernews.jp/
九州北部(福岡)の梅雨入り・梅雨明け【2022】
近畿地方、北陸地方、四国地方、中国地方、九州北部地方が梅雨明け 2022年梅雨情報 2022年6月28日
●Wikipedia https://ja.wikipedia.org/wiki/
梅雨


[一語一絵/IT系]

Gosundスマートプラグ / 2022-06-27 (月)

子どもたちが夜遅くまでTVを見れないようにするために、リモートON/OFFできる[External]SwitchBotプラグで21時以降は強制的に見れなくしていたのだが、コンセント給電を止めると録画もできない事になって奥さんからクレームが上がっていた。

ゴウサンド(Gosund) スマートプラグ
ゴウサンド(Gosund) スマートプラグ

SwitchBotのアプリからは消費電力が確認できることに気づいたので、消費電力からREGZAの状態(ON/OFF)を推定できれば、コンセント給電を切らずともIRKitで遠隔OFFできる(≒録画はできる)なぁ…と思ったのだが、SwitchBot APIでは[External]SwitchBotプラグのON/OFF状態しか採れないことが判明し、挫折。

[External]スマートプラグ(コンセント)とラズパイで洗濯機や乾燥機の終了をLINEに通知できて稼働状況もわかるシステムを作ったからGosundのスマートプラグだとAPIで採れそうな事がわかったので、さっそく置き換え。[External]Go Smartアプリに登録し消費電力が表示される事を確認。

ワクワクしながら[External]Tuya Smart Developer Centerに登録し、[External]Listing Tuya devices from the Tuya Smart or Smart Life appに倣って

yano@Focal:~/iot/tuya$ tuya-cli wizard
? The API key from tuya.com: acvwuxxknsXXXXXXXXX
? The API secret from tuya.com 3b81eb715f334YYYYYYY
? Provide a 'virtual ID' of a device currently registered in the app: 18261828c4dd5713b47b
[ { name: 'Gosund_Plug1',
    id: '18261828c4ddXXXXXXXX',
    key: '7e5f08baYYYYYYYY' },
  { name: 'Gosund_Plug2',
    id: '182618287003XXXXXXXX',
    key: '294924a4YYYYYYYY' } ]
yano@Focal:~/iot/tuya$
でデバイスID'18261828c4ddXXXXXXXX'とローカルキー'7e5f08baYYYYYYYY'を取得できた。

ちなみに[External]中華製スマートプラグ をAPIで操作する。(tuya-cli利用の代替案)の手順では、なかなか[External]Tuya Smart Developer CenterでDeviceのListが出てこなくて悪戦苦闘。アプリを[External]Go Smart[External]Tuya Smart[External]Smart Lifeと変えてようやくDevice Listが確認できた。

【参照】
●知的好奇心 for IoT https://intellectualcuriosity.hatenablog.com/
スマートプラグ(コンセント)とラズパイで洗濯機や乾燥機の終了をLINEに通知できて稼働状況もわかるシステムを作った 2020年5月10日
●竹のしんのテック日記 https://take6shin-tech-diary.com/
【Tuya API刷新】スマートプラグをTuyAPI(Node.js)からON/OFFする方法 2021年12月12日
●PHILE WEB https://www.phileweb.com/
IoT製品をかんたんに作れる「Tuya Smart」上陸。ソフトバンクの「+Style」からスマート家電が続々登場 2018年10月16日
●Tuya Smart Developer Center https://iot.tuya.com/
●GitHub https://github.com/
codetheweb/tuyapi: 🌧 An easy-to-use API for devices that use Tuya's cloud services.
jasonacox/tinytuya: Python API for Tuya WiFi smart devices using a direct local area network (LAN) connection or the cloud (TuyaCloud API).
●Google Play のアプリ https://play.google.com/store/apps/
Go Smart
Tuya Smart
Smart Life
●Amazon.co.jp https://www.amazon.co.jp/
【Alexa対応】ゴウサンド(Gosund) スマートプラグ Wi-Fi スマートコンセント 電源プラグ タイマー付き コンセント スマートホーム 2.4GHz対応 遠隔操作 Alexa/Google Home/音声コントロール ハブ不要 1個 ‎WP6-1 1,680円
【Alexa対応】ゴウサンド(Gosund) スマートプラグ Wi-Fi スマートコンセント 電源プラグ タイマー付き コンセント スマートホーム 2.4GHz対応 遠隔操作 Alexa/Google Home/音声コントロール ハブ不要 2個 ‎WP6-2 2,980円
●Wikipedia https://ja.wikipedia.org/wiki/
スマートホーム
●Wikipedia https://en.wikipedia.org/wiki/
Tuya Inc.


[一語一絵/IT系]

Nature Remo / 2022-06-25 (土)

昨年6月に復活したIRKitの不調具合が加速してきた折、[External]3,980円であらゆる家電をIoT化。Matterリモコン「Nature Remo nano」というニュースで、一つ前世代の[External]Nature Remo miniを調達してたのを思い出し、慌てて投入。

yano@haswell:~/smarthome$ Token=zjKKjfAL6X36SJvKtuqqXxm2SHMFeAjBnTHxZUhdzjKKjfAL6X36SJvKtuqqXxm2SHMFeAjBnTHxZUhd
yano@haswell:~/smarthome$ curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -k --header "Authorization: Bearer ${Token}" | jq
[
  {
    "name": "Remo mini",
    "id": "deb07f72-a5ab-4262-915b-ABCDEFG",
    "created_at": "2023-08-09T01:31:06Z",
    "updated_at": "2023-08-09T02:15:12Z",
    "mac_address": "98:cd:ac:XX:YY:ZZ",
    "bt_mac_address": "98:cd:ac:XX:YY:ZZ",
    "serial_number": "2W221070012345678",
    "firmware_version": "Remo-mini/1.12.2",
    "temperature_offset": 0,
    "humidity_offset": 0,
    "users": [
      {
        "id": "c376a287-5300-4c8b-b793-ABCDEFG",
        "nickname": "ホゲホゲフーガ",
        "superuser": true
      }
    ],
    "newest_events": {
      "te": {
        "val": 32,
        "created_at": "2023-08-09T05:03:19Z"
      }
    }
  }
]
yano@haswell:~/smarthome$

[External]Nature Developer PageによるとIRKitのような「Local API」も公開されているらしい。

yano@haswell:~/smarthome$ avahi-browse -t _remo._tcp
+ vlan.3 IPv6 Remo-mini5CD364                               _remo._tcp           local
+ vlan.3 IPv4 Remo-mini5CD364                               _remo._tcp           local
yano@haswell:~/smarthome$ avahi-resolve -n Remo-mini5CD364.local
Remo-mini5CD364.local   10.20.199.127
yano@haswell:~/smarthome$
IRKitと同じ流儀で
yano@haswell:~/smarthome$ REMO_TCP=$(avahi-browse -t _remo._tcp);
yano@haswell:~/smarthome$ ADDR_REMO=$(avahi-resolve -n $(echo $REMO_TCP | awk '{print $4"."$6}') | awk '{print $2}')
yano@haswell:~/smarthome$ curl -H "X-Requested-With: curl" -i "http://$ADDR_REMO/messages"
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1726
Server: Remo-mini/1.12.2

{"format":"us","freq":39,"data":[ 8543,4395,482,595,510,621,484,619,536,568,482,621,484,621,484,619,480,1779,450,655,480,1777,482,1779,481,1777,530,575,448,1810,485,1772,476,629,472,631,483,622,450,640,499,618,479,626,482,621,520,585,470,633,479,1779,479,1780,506,1754,474,1784,483,1777,450,1810,475,1756,476,1794,520,42264,9999,5162,546,1966,518,1996,540,1971,544,713,548,710,545,1964,550,1964,544,1967,544,713,516,739,553,1961,517,1994,551,706,517,737,544,713,518,739,542,1970,544,1968,549,708,517,1994,544,712,545,710,544,713,552,1962,541,713,544,713,542,1970,542,715,542,1969,544,1970,595,1917,541,713,555,47213,3289,1769,310,1373,333,490,340,480,380,442,320,486,351,471,342,495,293,529,293,527,295,527,295,527,292,528,294,1361,310,527,294,525,373,449,331,490,296,527,329,464,324,510,338,1345,297,1373,293,521,303,510,346,464,322,527,293,527,295,527,319,1334,310,512,310,1373,321,501,295,1372,296,1359,310,1373,295,1375,295,527,292,1360,310,527,375,1294,294,527,295,525,295,512,336,486,310,512,309,526,341,482,383,438,295,1358,377,1308,293,1375,295,1358,388,1297,295,1373,294,1358,310,1375,293,1375,295,1358,310,512,310,527,293,527,295,527,370,451,294,527,297,510,312,510,310,1373,295,1375,293,1360,310,1373,295,1375,295,1358,341,494,374,1294,296,528,292,527,298,510,312,509,311,1372,298,1355,314,1372,292,527,326,1344,293,1360,311,1372,333,1336,294,512,310,512,310,36593,3461,1829,337,538,332,538,332,1407,356,1383,399,471,358,1377,334,536,362,507,364,500,372,1368,369,500,338,538,331,1408,332,538,361,1370,338,536,360,1379,363,501,337,539,331,1408,329,540,332,538,330,540,377,488,360,1379,360,1380,331,1408,363,1371,371,496,338,1405,334,536,370,496,369,500,367,1371,337,1408,332,538,331,538,396,1336,337,536,360]}
yano@haswell:~/smarthome$
と、リモコンのデータも取得できるようだ。

【参照】
●PC Watch https://pc.watch.impress.co.jp/
【大原雄介の半導体業界こぼれ話】生まれては次々消えていったIoT規格。Matterはついにコネクテッドホームの夢を見るか? 2022年10月27日
Apple、スマートホームMatterに対応した第2世代HomePod 2023年1月19日
SWITCHBOT、新規格Matter対応のスマートリモコン 2023年3月16日
3,980円であらゆる家電をIoT化。Matterリモコン「Nature Remo nano」 2023年7月4日
●Nature https://nature.global/
Nature Remo mini(ネイチャーリモミニ)
Nature Remo nano(ネイチャーリモナノ)
●Nature Developer Page https://developer.nature.global/
Swagger UI
●Nature Remo ヘルプセンター https://support.nature.global/hc/ja
Nature RemoのIPアドレスを確認したい
●Zenn https://zenn.dev/
Nature RemoのAPIを使ってみる
●Qiita https://qiita.com/
NatureRemoとは?
Nature Remoの公式APIの使い方
●ITmedia PC USER https://www.itmedia.co.jp/pcuser/
スマートホームの接続性のための新規格「Matter」 旧ZigBee Allianceが発表 2021年5月12日
Apple、スマートホーム共通接続規格「Matter」に今秋対応 AmazonやGoogleの端末も操作可能に 2022年6月7日
iOS 16で対応する「Matter」とは? スマートホームに与える影響は? 2022年7月26日
SB C&S、Matter規格に対応したスマートリモコン「SwitchBotハブ2」発売 2023年3月16日
新型スマートリモコン「SwitchBot ハブ2」は多機能かつ本体ボタンで家電を操作できる驚きのデバイスだった 2023年4月14日
同じ「Matter対応」でもここが違う! スマートリモコン2製品を比較して分かったこと 2023年7月19日
●SwitchBot https://www.switchbot.jp/
SwitchBotハブミニ
SwitchBotプラグミニ
●Wikipedia https://ja.wikipedia.org/wiki/
Representational State Transfer
スマートホーム
ECHONET Lite