SensorDataDBIfZeroコンポーネントは1行も検索されなかった場合に入力ペイロード(cv.Payload
)を出力ペイロード(cv.Payload
)として出力します。1行でもレコードがあった場合は、何も出力しません。
プロパティで指定された内容で、センサーDBを検索しマッチしたレコード毎にフィルター式を実行します。マッチしたレコードは“Value“変数で参照することが可能です。式を実行した結果がtrueだった場合は通過しますが、1行でもレコードがあった場合に該当するので、出力ペイロード(cv.Payload
)はありません。DBからの検索で0件でもSensorDataDBIfZeroは入力ペイロードを出力しますが、DBからの検索でなにかレコードがあっても式の実行結果が全てfalseでも入力ペイロード(cv.Payload
)を出力します。
出力ペイロード | 説明 |
---|---|
cv.Payload |
1行も検索されなかった場合に入力ペイロードを出力ペイロードとして出力します |
出力例{
"AreaId":"c753b341-c856-42fc-9170-69edaa5d8246",
"AreaName":"オフィス",
"Data":460,
"DataId":"f969129db906491e876cef43afb4fcb8",
"DataType":"double",
"KindId":"7e87a819-135e-40d3-9d5f-c0330f38ec4e",
"KindName":"Gravio-CO2",
"LayerId":"1efe01a1-41c7-4d21-bd98-d6bc87af74bd",
"LayerName":"CO2",
"PhysicalDeviceId":"DE-8D-06-FE-FF-57-B5-15",
"PhysicalDeviceName":"オフィスCO2",
"Timestamp":"2021-09-13T00:26:42.594348934Z",
"VirtualDeviceId":"2ce70be6-257b-4854-9680-af1f02d575b4"
}
TimestampはJSON Object型の中では日時型として出力されます。
各レコード毎に、コンポーネント変数( cv.Id
)にレコードID、コンポーネント変数( cv.Count
)に一致したレコードの最初のレコーとを1して、IDを順にインクリメントした番号が付与されます。
フィルター式例
Value.Data > 123
Value.Data.key1 == "abc" && Value.Data.key2 > 123
センサデータのフィールド
プロパティー名 | 説明 |
---|---|
AreaId | エリアID |
AreaName | エリア名 |
LayerId | レイヤーID |
LayerName | レイヤー名 |
KindId | 種別ID |
KindName | 種別名 |
TimeStamp | データの受信日時 |
Data | データ |
DataType | データタイプ |
DataId | データID |
VirtualDeviceId | 論理デバイスID |
PhysicalDeviceId | センサーの物理デバイスID |
PhysicalDeviceName | センサーの物理デバイス名 |
コンポーネントプロパティ
プロパティー名 | 説明 |
---|---|
エリア | エリア名を指定 |
レイヤー | レイヤー名を指定 |
デバイスID | デバイスIDを指定 |
From Previous | 取得する数(例 From Previousが10でタイムスケールがレコードの場合は最新の10件を取得) |
タイムスケール | 取得する最新データの単位(レコード, ミリ秒,秒,分,時,日,週,月,年から選択). cp.Timescaleの値としては “Records” , “Milliseconds” , “Seconds” , “Minutes” , “Hours” , “Days” , “Weeks” , “Months” , “Years“ のいずれか |
全てのレコード | From PreviousとTimescaleの条件を無効にして全てのレコードを取得 |
時間を丸める | 直近の秒,分,時,日,週,月,年で丸めた時刻からコンポーネントが実行される直前までのデータを取得 |
時間を丸める | データを丸めて取得(下記を参照)タイムスケールがレコードの時は無効 |
フィルター式 | Filterコンポーネントのように式でペイロードを出力させるかを選べるようにします |
時間を丸める
コンポーネントが実行された日時を指定されたタイムスケール(取得する最新データの単位)で丸め、From Previous(取得する数)で指定された値分遡ってデータを取得します。
例)
コンポーネントが実行された日時が 2021-01-20 12:15:15、タイムスケールが 分、From Previousが 5の場合には 2021-01-20 12:15:00より5分遡ったデータ(2021-01-20 12:10:00〜2021-01-20 12:15:00未満のデータ)を取得
コンポーネントが実行された日時が 2021-01-20 12:15:15、タイムスケールが 時、From Previousが 24の場合には 2021-01-20 12:00:00より24時間遡ったデータ(2021-01-19 12:00:00〜2021-01-20 12:00:00未満のデータ)を取得
コンポーネントが実行された日時が 2021-01-20 12:15:15、タイムスケールが 日、From Previousが 1の場合には 2021-01-20 00:00:00より1日遡ったデータ(2021-01-19 00:00:00〜2021-01-20 00:00:00未満のデータ)を取得
タイムスケールがレコードの時は時間を丸めるは無効となりレコード件数で取得されます。
例)
コンポーネントが実行された日時が 2021-01-20 12:15:15、タイムスケールが レコード、From Previousが 10の場合には 2021-01-20 12:15:15より10件遡ったデータを取得
Need more help with this?
Join our slack community for help