アクションプロパティ (Action Property)

“ap.” のプリフィックスをつけることで参照します。
アクションの実行時に外部から渡されるプロパティとして定義できます。

アクション変数 (Action Variable)

“av.” のプリフィックスをつけることで参照します。
アクション内で参照できる変数。

コンポーネントプロパティ (Component Property)

“cp.” のプリフィックスをつけることで参照します。 コンポーネントの動作を決める値。それぞれのコンポーネントが持っている変数。
例えば、HTTPRequestコンポーネントならMethod(GET|POST…)/URLプロパティなど。

コンポーネント変数 (Component Variable)

“cv.” のプリフィックスをつけることで参照します。
コンポーネントで暗黙で宣言されている変数があります。
例) cv.StatusCode
HTTPRequestコンポーネントならHTTPステータスコードやレスポンスヘッダ類がcvとなります。

トリガー変数 (Trigger Variable)

“tv.” のプリフィックスをつけることで参照します。
センサーから送信されたデータは、以下のトリガー変数で、Actionプログラム内で参照できます。

トリガー変数名 説明
tv.AreaId エリアID
tv.AreaName エリア名
tv.LayerId レイヤーID
tv.LayerName レイヤー名
tv.KindId データ種別ID
tv.KindName データ種別名
tv.PhysicalDeviceId センサーの物理デバイスID
tv.PhysicalDeviceName センサーの物理デバイス名
tv.Timestamp センサーからデータが出力されたときの時刻。フォーマットはRFC3339Nano
tv.DataId このセンサーデータ固有ID
tv.Data センサーデータの値。tv.Dataは最初のコンポーネントのcv.Payloadと同じになります

トリガープロパティ (Trigger Property)

イベントトリガーやタイマートリガーで設定された、トリガープロパティをアクション内で参照できます。
“tp.” のプリフィックスをつけることで参照します。
例) tp.KeyAreaName、tp.KeyLayerName、tp.TriggerName

値(型)

変数型 説明
Int 整数
Double 浮動小数点
String 文字列
Bool true/false
DateTime 日時
バイト列 バイト列
配列 配列
Object オブジェクト
リテラル [1, 2, 3]
配列 ["abc", "def", "hij"] ["abc", 123, cv.variable]
Object {"key1":123, "key2":"abc", "key3":cv.variable, "key4":[1, 2, 3], "key5":{"subkey1":"def"}}

型変換

それぞれの型からそれぞれの型への変換が可能です。

Boolean 数値系は0の時はfalse、それ以外はtrue。 日時の時Unix時間で0の時はfalse、それ以外はtrue。 文字列の時は“true”/“1“の時はtrue、それ以外はfalse。 バイト列は文字列に変換後に文字列のルールに従う。 それ以外の型のときはfalse
整数 Booleanはtrueの時は1、それ以外は0。 浮動小数はGo言語のキャストのルール。 日時の時はUnix時間を数値とする。 文字列の時はstrconv.ParseIntのルールに従う。 バイト列は文字列に変換後に文字列のルールに従う。それ以外の型は0
浮動小数 Booleanはtrueの時は1.0、それ以外は0.0。 整数はGo言語のキャストのルール。 日時の時はUnix時間を数値とする。 文字列の時はstrconv.ParseFloatのルールに従う。 バイト列は文字列に変換後に文字列のルールに従う。 それ以外の型は0.0
文字列 Booleanはtrueの時は“true”、それ以外は“false” 整数はstrconv.FormatInt、浮動小数はstrconv.FormatFloatで文字列に直す。 日時の時は、time.RFC3339Nanoフォーマットで文字列に直す。 バイト列はutf-8バイト列とみなし文字列にする。エラーがある場合は空文字。 配列、Objectはjson.Marshalをかけて文字列にする
日時 数値系とBooleanは整数に直すルールで整数にした後に、Unix時間とみなして日時に変換。 文字列は、下記フォーマットを順に試しできたらそれを日時とみなし、それ以外は0(日時の0とは、1年1月1日00:00:00のこと) time.RFC3339Nano, “2006-01-02T15:04:05.999 MST”, “2006-01-02T15:04:05.999”, “20060102T150405.999 MST”, “20060102T150405.999”, バイト列は文字列に直し文字列と同じルール。 それ以外は0
バイト列 Booleanと数値系と日時は文字列に直しutf-8バイト列にする。 文字列はutf-8バイト列にする。 配列、Objectはjson.Marshalを書けて文字列をバイト列にする。
配列、Object 数値系と、日時はその値を1つ含む配列にする。 文字列は、JSON文字列とみなしjson.Unmarshalする。エラーの場合はサイズ0の配列。 バイト列は文字列に直し、文字列と同じルール。 配列とObjectはそのまま。 それ以外の型はサイズ0の配列

演算子

使用できる演算子を以下の表で説明します。

演算子 説明
+ 加算
減算
乗算
/ 除算
** べき乗
& ビット論理積 (AND)
ビット論理和 (OR)
^ ビット排他的論理和 (XOR)
% 剰余

比較演算子

使用できる比較演算子を以下の表で説明します。

比較演算子 説明
> より小さい
>= 以下
< より大きい
<= 以上
== 等価
!= 不等価
=~ 正規表現マッチ
!~ 正規表現非マッチ

論理演算子

使用できる論理演算子を以下の表で説明します。

論理演算子 説明
|| 論理 OR
&& 論理 AND

Need more help with this?
Join our slack community for help

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました