#sRemo-R3
sRemo-R3とはSOCINNOから出ているスマートリモコンです。
4,300円という安さで「温度センサー」「湿度センサー」「照度センサー」「Alexa」「Google Assistant」「Siri(ショートカット)」に対応しています。
https://sr.socinno.com/
##APIが利用可能
sRemo-R3はsCloud
というAPIが利用可能でセンサーの情報
リモコン制御
などがプログラミングから可能です。
この記事でAPIの使い方はわかりやすく出ているので、具体的なコードを見なくてもいい人はリンク先からみてください。
自分はPython
を使ってやっていきます。
https://sremosup.socinno.com/page-2872/
##アプリで出来ること
APIを利用する前にアプリで出来ることを確認していきます。
- センサー情報の確認
- 登録したリモコンの操作
- 手動登録した赤外線リモコンの操作
- 条件付きの自動リモコン操作(温度20度以上でリモコン1を実行)
##アプリが使いずらい
アプリが使いずらく、さらに条件付きの自動リモコン操作は7つまでしか登録できないのでAPIを利用してプログラミングした方が使いやすそう
- 温度、湿度、照度情報取得
- 時間情報取得
- アプリで登録した「1-141ボタン」の操作
- 5分間のアクセス数(5分間で10回までしかアクセスできない)(このアクセスもカウントされる)
APIアクセストークン
https://sremo.biz/ を開いてアプリでログインしたアカウントと同じアカウントでログインして「APIアクセストークン」が表示されたらメモしておいてください。
##注意事項
sRemo-R3をカスタムモード
で初期設定した場合ポート開放
をする必要があります。
ポート開放をしない場合は初期化後スマートモード
で再度初期設定してください。
##温度, 湿度, 照度情報取得
from urllib.parse import urlencode
from urllib.request import urlopen
from json import loads
api_key = "jfkdSfjdSLFSDJKLjoweirjapfoijlkfjsaff" # APIアクセストークン
sRemo_identifier= "aeh3qf9nypfjh" # sRemo識別子
param = {"tkn": api_key}
paramStr = urlencode(param)
pre_url = "https://uapi1.sremo.net/user_api/" + sRemo_identifier + "/webthl?"
url = pre_url + paramStr
data = []
try:
with urlopen(request) as response:
data_byte = response.read()
data = loads(data)
except HTTPError as e:
print(e)
print("温度は" + str(data["t"]) + "度")
print("湿度は" + str(data["h"]) + "%")
print("明るさは" + str(data["l"]) + "度")
##時間情報取得
from urllib.parse import urlencode
from urllib.request import urlopen
from json import loads
api_key = "jfkdSfjdSLFSDJKLjfdarjapfoijlkfjsaff" # APIアクセストークン
sRemo_identifier= "aeh3qf9ffdsajh" # sRemo識別子
param = {"tkn": api_key}
paramStr = urlencode(param)
pre_url = "https://uapi1.sremo.net/user_api/" + sRemo_identifier + "/webtim?tkn=" + api_key
url = pre_url + paramStr
with urlopen(url) as readObj:
response = readObj.read()
data = loads(response)
print("日付: " + data["t"].split(" ")[0]))
print("時刻: " + data["t"].split(" ")[1]))
##アプリで登録した「1-141ボタン」の操作
from urllib.request import urlopen
from urllib.parse import urlencode
from json import loads
api_key = "jfkdSfjdSLFSDfdsafirjapfoijlkfjsaff" # APIアクセストークン
sRemo_identifier= "aehdfasfdpfjh" # sRemo識別子
signal = "1" #「1-141ボタン」内の操作したいボタンの数字
param = {
"tkn": api_key,
"sig": signal
}
paramStr = urlencode(param)
pre_url = "https://uapi1.sremo.net/user_api/" + sRemo_identifier + "/webhook?"
url = pre_url + paramStr
try:
with urlopen(request) as response:
data= response.read()
except HTTPError as e:
print(e)
print(response.decode('utf-8'))
5分間のアクセス数の確認
5分間で何回アクセスしたかが確認できるが、このアクセスもカウントされるので、ほぼ使い道はない
from urllib.request import urlopen
from urllib.parse import urlencode
from json import loads
api_key = "jfkdSfjdSLFSsdafeirjapfoijlkfjsaff" # APIアクセストークン
sRemo_identifier= "aeh3fasdfypfjh" # sRemo識別子
signal = "1" #「1-141ボタン」内の操作したいボタンの数字
param = {
"tkn": api_key,
"sig": signal
}
paramStr = urlencode(param)
pre_url = "https://uapi1.sremo.net/user_api/" + sRemo_identifier + "/weblim?"
url = pre_url + paramStr
with urlopen(url) as readObj:
response = readObj.read()
data = loads(response)
print("アクセス数:" + str(data) + "回")