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

お役に立ちましたか?

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