フラグの値が設定されます。フラグの値が設定されます。何れかの値をとります。フラグの値が設定されます。メッセージ中のペイロードデータ。文字列の場合には文字列コードのバイト列が格納されています。文字列を扱う場合にはデコード後の変数を利用することができます。変換対象のバイト列のサイズを変更したいときには該当するスクリプト部分を変更して下さい。得られたオブジェクトのキーと値をそのままグローバル共有変数に設定する。パケットを受信したときに共通で実行されます。このため、最初に下記の正規表現を利用したパターンマッチ関数でトピック名の部分文字列取り出して、アラーム装置の処理対象メッセージであるかを判断します。変数には送信元ホスト名や任意の文字列が格納されます。パターンマッチに失敗するような、これ以外のトピック名の場合には以降の処理は行いません。グローバル共有変数のキーと値にそれぞれセットします。操作する部分は別スクリプトとして別途作成することにして、ここではフラグ(グローバル共有変数)の更新のみを行うようにしています。この様な構成にすることで機能を拡張しやすくなり、プログラム(スクリプト)の内容を簡単にすることができます。時に上記のグローバル共有変数を全て削除します。操作するスクリプトを作成します。格納されていますので作成する必要はありません。スクリプトの内容は以下の様になっています。LEDの点滅やブザーを鳴らす。遅い繰り返し●備考このスクリプトは無限ループに入って終了しないので、必ず別スレッドで起動してください。モードを初期設定する。間隔で実行endこのスクリプトの先頭では2重起動のチェックを下記の文で行っています。操作を繰り返す動作になります。起動時には別スレッドで実行させて、スクリプト実行スレッドが常駐する形になります。このため、間違って複数回このスクリプトをバックグランドで実行しないようにチェックしています。ポートの初期化を行っています。ポートは出力モードでプルアップ抵抗を切り離しています。ポートは入力モードにして、プルアップを有効にします。モードを初期設定する。イベントハンドラを自動実行するように設定しています。このイベントハンドラの内容も後で編集します。下記の部分がメインループになります。タイミングを判断しています。詳しい処理内容は前述の全体のスクリプト中のコメントをご覧ください。起動時に別スレッドで自動実行するように後で設定します。●タクトスイッチ操作時のイベントハンドラ設定アラーム装置のタクトスイッチが押されたときの動作を記述します。イベントハンドラスクリプトが実行されます。送信するようにします。インストール時のデフォルトイベントハンドラスクリプト中にコメント文として書き込まれていますので、コメントアウトするだけで編集は完了します。*******************************************************************************一つのスクリプトの実行は長くても数秒以内で必ず終了するようにしてください。処理に時間がかかると、イベント処理の終了を待つサーバー側でタイムアウトが発生します。同時実行可能なスクリプトの数に制限があるため、他のスクリプトの実行開始が待たされる原因にもなります。使用して別スレッドで実行することを検討してください。番号が入る複数同時に変化した場合にはカンマ区切りのリストになる。ピンの変化後の現在の値。並びと値の並びが対応しています。