2021年3月29日にhsbox1.1.2系の最終版として 1.1.2.5をリリースしました。 1.1.2.5では、1.1.2系で報告された問題の修正しています。 また、開発者向けにメニュー編集機能を公開しました。開発者モードにてメニュー生成、動作検証を行うことができます。
なお、各バージョンでの修正内容についてはhssにて公開します。
2021年3月29日にhsbox1.1.2系の最終版として 1.1.2.5をリリースしました。 1.1.2.5では、1.1.2系で報告された問題の修正しています。 また、開発者向けにメニュー編集機能を公開しました。開発者モードにてメニュー生成、動作検証を行うことができます。
なお、各バージョンでの修正内容についてはhssにて公開します。
2020年12月29日に出荷開始したhsbox1.1.2(以下hsbox1.1と表記)ではスマートサービス連携機能を追加しました。この連携機能に関連して協力者を募集します。お手伝い頂ける方にはhsbox1.1 ダウンロード版※のライセンスを無料で提供します。継続して協力していただける方にはサポートライセンスも提供いたします。
募集内容:
・hsbox紹介動画のコンテンツ作成(Youtuber)
・hsboxメニューコンテンツの作成およびメンテナンス
・hsbox連携機能開発(プログラマー)
・その他
申請手順:
・hss(サポートサイト)未登録の場合は、新規登録してください。登録が終わったら、hssにログインしてください。hssメインメニューから「お問い合わせ」に入ってください。お問い合わせフォームの「ご用件」欄で”開発・コンテンツ作成参加”を選択し、その他の項目を入力、「お問い合わせ内容」に具体的にご協力いただける内容*を入力してください。
* ご協力いただける内容を確認されていただくことがあります。確認の有無にかかわらず、結果やライセンスの提供は、hssに登録いただいたメールアドレス宛に配信いたします。
※hsbox1.1 USBメモリ製品版を希望される方はその旨ご相談ください。
外部からのリクエストつまりboxapiで受け付けたコマンドをどのスマートデバイスで処理するかをしわ決定する仕組みです。
明示的にどのデバイスで処理するかをtgtパラメータで指定する方法もありますが、指定しない場合、デフォルトグループから処理可能なデバイスを選んで処理する仕組みです。
グループは、複数設定することが可能で、これはGoogle Homeの部屋、グループに相当します。
”グループ識別キー”には英数字のみ使えます
”グループ名”、”コメント”は2バイト文字も使用可能です
設定フォーマット:
<グループ識別キー>,<グループ名>, コメント
”グループ識別キー”は、グループリストの中のものを使用します。
”キャストタイプ”に使用できる文字は下の表を参照してください
下のフォーマットのように、2つの形式でターゲットを登録できます。
設定フォーマット:
<グループ識別キー>, <キャストタイプ> ,<ターゲット識別キー> , <IP>,- ,<ターゲット名> , コメント 固定IPか別ネットワークの場合
<グループ識別キー>, <キャストタイプ> , <ターゲット識別キー> , ー,MAC ,<ターゲット名> , コメント 同一ネットワーク内の浮動IPの場合
※ターゲット識別キーはグループ識別キーと完全一致する名称を使用しないこと、また重複しないこと *重複している場合は先に見つけたデバイスを使用します
●キャストタイプ
機器 | タイプ表記 | mp3 トーク | mp4 | jpeg | youtube |
Googlehome/mini | audio | ◎1 | x | x | x |
nest | cast | ◎2 | 〇 | ◎ | 〇 |
Chromecast Ultra | castTV | 〇 | ◎ | 〇 | ◎ |
◎1 最優先
◎2次優先
〇可能
x対象外
メニューの概要とメニューファイルアップロード、ダウンロードも参照してください。
設定のベースとなるファイルは、メニューファイルのページでダウンロードしてください。
参考;初期設定(テンプレート)の例:
000,-,該当メニューはありません,トップメニュー,メニュー,-
003,010,-,001: hsboxヘルプメニュー,メニュー,-
003,020,-,002: hsbox紹介メニュー,メニュー,-
:
上の例のように、メニューファイルは1メニュー1行で、カンマ区切り、6フィールドで表記しています。
・コメント行はなく、1から1000行目までが有効な設定です。行の位置が、メニュー番号に相当します。1行目が「メニュー 0」、1000行目が「メニュー 999」に相当します。
各フィールドの内容は次の通りです
・ 1列目: 数字3桁 コマンド番号
・2列目: 可変コマンドパラメータ
・3列目: 拡張可変コマンドパラメータ
・4列目: メニュー表示用メッセージ
・5列目: コメント(説明用メッセージ)
・6列目: 予備、 拡張用(一部は音声応答メッセージに使用)
デフォルトで使用できるコマンドと設定方法は以下の通りです。※プログラミングして追加する方法は開発者サイトで扱います。開発者サイトへはhssから入ってください。
■0番台 メニュー用
000:表示用メニュー
P1:- なし
p2: 該当メニューはありません(応答メッセージ:メニューがない場合0行目のみ指定、その他はなし)
m1:メニュー
m2:メニュー
m3:-
001:無設定 : 何も設定がない状態
P1:- なし
p2: – なし
m1:-
m2:-
m3:-
003: リンクメニュー(基本は表示メニューと同じだが、リンク先のメニューを表示)
P1:010 リンク先のメニュー番号(3桁)
p2: – なし
m1:画面表示用メニュー
m2:メニュー
m3:-
■2番台:音声制御関連
201:設定した文面の発話 (casts )
P1:発話 文面(可変文字 使用可能)
p2: – なし 言語 (ない場合は日本語で発音)
m1:xxxxxx/xxxx
m2:-
m3:-
203: 指定URLの音声ファイルの、 再生 (cast mp3)
P1: URL
p2: – なし
m1: 指定URL の内容など メニュー表示文面
m2:-
m3:-
■3番台: 動画、画像制御関連
301:hsbox内の画像表示 (cast image:jpeg) nest優先
P1: パス
p2: – なし (コンテントタイプ)
m1: 指定パス の内容など メニュー表示文面
m2:-
m3:- ’TV’ といれた場合 TV優先
302:指定URL の画像表示 (cast image:jpeg) TV優先
P1: URL
p2: – なし (コンテントタイプ)
m1: 指定URL の内容など メニュー表示文面
m2:-
m3:- ‘nest’ の場合は nest優先
303:指定URLの動画表示 ( cast image :mp4 ) TV優先
P1: URL
p2: – なし (コンテントタイプ)
m1: 指定URL の内容など メニュー表示文面
m2:-
m3:- ‘nest’ の場合は nest優先
304:youtube パラメータ ( yt パラメータ ) TV優先
P1: パラメータ
p2: – なし
m1: 指定URL 先の内容など メニュー表示文面
m2:-
m3:- ‘nest’ の場合は nest優先
■9番台: hsbox制御用
XX0:メニュー表示用
901:メニュー表示画像の更新
P1: メニュー表示画像の更新 します(応答メッセージ)
p2: –
m1:メニュー表示用の画像ファイルを再作成します
m2:Create menu image file.
m3:-
951:特殊コード(-4)呼び出し オプション設定 ユーザ指定
P1:指定なし
p2: 指定なし
m1:予約 特殊呼び出し(表示用メッセージ)
m2:指定なし
m3:全角4文字のオプション設定 ※特殊コード(-4)参照
991:デフォルトグループの指定
P1:グループ
p2: デフォルトグループをxxxに切り替えます(応答メッセージ)
m1:デフォルトのグループをxxxに切り替える
m2:チェンジグループ
m3:-
ー3:メニューの検索呼び出し
w:検索キーワード (キーワードが含まれる最初に一致したメニューを実行する)
ー4:スケジューラ連携 :音声プッシュ通知 、メニュー検索
w: スケジューラ設定文字列
m3オプション設定は”P●■×”固定 全角です
スケジューラ設定文字列の1文字目(マーク)とm3オプション設定を比較し動作を切り替える
m3:1文字目: マークが無い場合の動作指定
P: 音声読み上げ
M:メニューの検索実行
X:なにもしない
2文字目:マークがこの文字なら音声読みあげ
3文字目:マークがこの文字ならメニュー実行
4文字目:マークがこの文字なら何もしない
w:通知する音声メッセージ
※本仕様は、順次追加更新します。
強化提案等も受け付けますので、hssの開発者サイトにて提案してください。
スマート機器のグルーピング設定を行います。また、各機器の認識状態を参照することができます。
グルーピングとグループメンバの両方が未設定の場合、上部に設定初期化ボタンが表示されています。「初期化」ボタンを押すと、hsboxと同じネットワーク上にあるGoogle Home や Chromecastなどのデバイスをスキャンし設定に反映します。すべて1つのグループ1”GRP1”にグルーピングします。下はスキャンした結果の例です。
※別ネットワークに配置されたスマートデバイスと連携するにはルータの設定やルーティング設定とあわせてターゲットリストを編集、設定してください。
IFTTTなどのクラウドサービスからイベントを受け付けるAPIを操作します。デフォルトではこのサービスAPIは動作していません。 設定を”有効”にして「設定変更」ボタンを押してください。サービスポートが起動するまでに1分程度時間がかかることがあります。 ポート番号は、hsbox内の他のサービスと競合しない範囲で変更可能です。
boxapiキーはクラウドサービスから次のようにアクセスする際のURLに使用します。
http://<ホストIP>:<ポート>/boxapi/hsx.php?bkey=<boxapiキー>&m=<メニュー番号>[&tgt=<ターゲットID>]
上の例では、http://host:28655/boxapi/hsx.php?bkey=545drgy5464&m=0
このリクエストのより、0番のメニューが起動します。
boxapiキーはデフォルトでランダムな値が設定されています。boxapiキーは任意の値に変更可能です。
メニューは、0~999番までの数字で指定する、 1000個のコマンドを設定することができます。
メニューは次のように番号で指定する方式で、番号を覚えていなくても画面表示に従って目的のメニューまでたどることができます。
※メニューの設定方法は、「メニューファイルの書き方」を参照してください。
hsbox1.01.03.01より追加したスマホ向けボタンメニューをファイルで管理することができます。
ボタンメニューのファイル名は”boxmenu_btn.txt”です。
メニューファイルの各行の形式は既存のメニューファイルの形式に準拠しています。上の行から順にボタン形式でメニュー表示します。
クラウドサービスなどインターネット側からリアルタイム制御したり、ミニサーバーとして利用したりする場合、DHCPで自動で割り当てられたIPは、IPアドレスが変わるので不便なことがあります。本機能は、固定IPを追加することができます。
※固定IPはhsbox1.01.02.02からの機能です
「システム情報」メニューの IPアドレスの下にあります。
固定IPアドレスの欄に、「<使用するIPアドレス (IPv4)>/ <サブネットマスク>」の形式で入力して、「固定IP設定」ボタンを押してください。
設定を削除する場合は、改行なしで”DEL”と入力してください。
※設定を反映するために、トップメニューでシャットダウンし再起動してください。
※固定IPで指定するIPアドレスは、DHCPから払い出されたIPと同じネットワークで、他の機器が使用していないアドレスにする必要があります。
※サブネットマスクは、DHCPから払い出されたIPと同一のサブネットマスク値にする必要があります。上の例では192.168.2.60/24の”24”と同じ値にしています。
家庭内LAN内でも異なるネットワークにあるスマート機器などの機器は直接通信することができないケースあります。異なるネットワークとの境界に存在するルータの仕様や設定に依存しますがルーティング設定を行うことで、通信が可能となるケースがあります。
ネットワークごとに1設定1行で複数のルーティング設定が可能です。
ルーティングの欄に、「<通信先ネットワーク (IPv4)>/ <サブネットマスク>,<ゲートウェイ(IPv4)>」の形式で、入力して、「ルーティング設定」ボタンを押してください。
設定を削除する場合は、改行なしで”DEL”と入力してください。
※設定を反映するために、トップメニューでシャットダウンし再起動してください。
クイックスタートガイドは、スマートサービス連携を利用し始めるまでの最短の手順です。
事前に、つぎの準備ができているものとします。これらがまだ準備できていない場合は準備してください。
●Google HomeなどのスマートスピーカーやChromecastなどのキャストデバイスを利用できること。
●スマートスピーカーとIFTTTなどのクラウドサービスの連携設定ができていること。
●hsboxのライセンス登録が完了し、トップ画面にログインできること。
「スマートサービス連携」を行う最短手順です。
boxapiを起動します。起動方法の詳細はこちら
起動したboxapiのポート番号と、boxapiキーを記録してください。②の作業で使用します。
IFTTTなどのクラウドサービスでboxapiの呼び出しアプレットを設定します。
以下は、IFTTTでの設定例です。ほかのサービスでも同様に設定可能です。
「if」で、Google Assistantを選択し、下のように「数を含めたフレーズ」で設定します
「then that」で、”Webhooks”を選択して、つぎのようにboxapi呼び出し設定をします
URLは http://<ホスト名>:ポート番号/boxapi/hsx.php?bkey=<boxapiキー>&m=<IFTTTなどから渡される変数> の形式です。
※”tgt”パラメータは特定のターゲットを操作する場合に使用します。通常は不要です。
※ホスト名、ポート番号にはインターネット側からアクセスできる値にしてください。一般的に家庭内LANの機器をインターネット側から見たIPは、動的に変わります。動的に名前解決できるDDNSと組み合わせることで、設定が楽になります。
※クラウドと家庭内LANの境界上のルータで、アクセスポート番号を変換するなど工夫してください。
スマートデバイスを認識させます。
「グループ設定」で、グループメンバの設定を行います。「初期化」ボタンで簡単に設定をすることができます。ただし、hsboxと同一のネットワーク上にあるスマートデバイスしか認識できません。
※別のネットワーク上にある機器を使用するには、ルータの設定、ルーティング設定が必要です。また、グループ設定でグループメンバを手動で追加してください。
Google homeなどに、「メニュー ゼロ」と発話して、テレビ、Google Nestなどにhsboxのトップメニューが表示されれば連携設定成功です。 あとは、メニューに表示された番号をたどって順に発話していけばすべてのメニュー(コマンド)を呼び出せます。また、番号を直接呼び出したり、シングルワードでの個別のメニュー番号を指定し実行することも可能です。
hsboxのスマートサービス連携は、スーマート機器だけでなく家庭内LAN内の非スマート対応機器とクラウド上のスマートサービスを連携します。メニュー形式での応用設定や追加モジュールでの拡張など、利用者自身が容易に応用や拡張・強化できます。hsbox1.01.02.02で提供する基本機能は次の通りです。これらを組み合わせて設定することができます。
・連携用WebAPI(boxapi)※Webコンソールと異なる専用ポートを使用
・メニュー形式での1000件※の連携コマンドを設定
※件数はコマンド実装等で拡張可能
・メニューのアップロード、ダウンロード
・配信先のスマート機器の管理とグルーピング機能※
※Google Homeの「部屋とグループ」と同等機能
・メニューで実行可能なコマンド群とコマンドのプログラミングの仕組みと拡張API
デフォルトで提供しているコマンドは次の通り
– 文字列の読み上げ(プッシュ通知)
– 指定URLの動画ファイル(mp4)再生
– 指定URLの音声ファイル(mp3)再生
– Youtube再生(パラメータ指定)
– 指定URLの画像ファイル(jpeg)表示
– デフォルトグループの指定、切り替え
– メニュー表示画像の更新
■スマートサービス連携API用ポート と メニューファイルのアップロード、ダウンロード
2020年12月29日にhoscmは、hsbox1.1.2をリリースしました。hsbox1.1.2からスマートサービス連携機能を基本機能に追加しています。スマートサービス連携は、家庭内LANにおいてGoogle Home、Google Nestや Amazon Echoなどのスマートスピーカー、スマートディスプレイ、またその他の家庭内LANに配置した機器との連携を支援します。
プログラミングすることなく、設定のみで連携することができます。※ デフォルトでは利用方法がわかるメニューや応用方法のヒントとなる設定のみを行っています。これらを参考に設定することで様々な操作を音声で行ったり、外部イベントで家庭内LANの機器を起動したりすることができます。
具体的には次のようなことができます。
・任意イベントによるプッシュ通知
雨がふりだしたらGoogle Homeなど音声で通知します。
・任意の画像・動画再生
Google Homeなどのスマートスピーカーに「雨雲レーダー」などと発話すると、テレビやGoogle Nestの画面に最新の雨雲レーダー画像を表示します。
発話により事前に指定した任意の場所のライブ配信を再生します。
自宅の防犯カメラの画像をテレビやGoogle Nestの画面に表示します。
詳細は、「hsbox 特徴と機能」をご覧ください。
ご購入方法は、「ライセンス、購入方法」をご覧ください。
※利用者自身によるプログラミングによる機能強化も可能です。
後日、等製品の開発参加やコンテンツ作成支援を依頼のお知らせを公開する予定です。事前の案内となりますが、開発参加やコンテンツ作成支援していただけるプログラマーやYoutuberの方はhssのお問い合わせから、「開発・コンテンツ作成参加希望」として具体的にどのような支援を頂けるかご連絡ください。hsboxライセンス等を無償で提供いたします。