Sensor Data DB

説明

SensorDataDBコンポーネントは、CoordinatorまたはHubKitに格納されているセンサデータを取得することができます。

CoordinatorまたはHubKitに格納されているSensorDataDBからデータをクエリーし、各レコードを1行毎に次のコンポーネントに渡します。

プロパティで指定された内容で、センサーDBを検索しマッチしたレコード毎にフィルター式を実行します。マッチしたレコードは"Value"変数で参照することが可能です。式の実行結果がtrueの時は、そのレコードは通過し出力ペイロード(cv.Payload)となります。

出力ペイロード説明
cv.Payload条件に一致した各レコードをJSON Object型をレコード毎に出力します。
出力例{
"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

センサデータのフィールド

フィールド名説明
HubIdHubId(Coordinatorからデータを取得する場合)
AreaIdエリアID
AreaNameエリア名
LayerIdレイヤーID
LayerNameレイヤー名
KindId種別ID
KindName種別名
TimeStampデータの受信日時
Dataデータ
DataTypeデータタイプ
DataIdデータID
VirtualDeviceId論理デバイスID
PhysicalDeviceIdセンサーの物理デバイスID
PhysicalDeviceNameセンサーの物理デバイス名

コンポーネントプロパティ

プロパティー名説明
CoordinatorCoordinatorのデータを取得する場合に指定
HubIdHubId(Coordinatorからデータを取得する場合)を指定
エリアエリア名を指定
レイヤーレイヤー名を指定
デバイスIDデバイスIDを指定
From Previous取得する数(例 From Previousが10でタイムスケールがレコードの場合は最新の10件を取得)
タイムスケール取得する最新データの単位(レコード, ミリ秒,秒,分,時,日,週,月,年から選択). cp.Timescaleの値としては "Records" , "Milliseconds" , "Seconds" , "Minutes" , "Hours" , "Days" , "Weeks" , "Months" , "Years" のいずれか
全てのレコードFrom Previousとタイムスケールの条件を無効にして全てのレコードを取得
時間を丸める直近の秒,分,時,日,週,月,年で丸めた時刻からコンポーネントが実行される直前までのデータを取得。データを丸めて取得(下記を参照)タイムスケールがレコードの時は無効
フィルター式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件遡ったデータを取得