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

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

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

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

プロパティー名 説明
Coordinator Coordinatorのデータを取得する場合に指定
HubId HubId(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件遡ったデータを取得

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

お役に立ちましたか?

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