diff --git a/.gencode_hash.txt b/.gencode_hash.txt index a50292c601..cbd7adc36f 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -1,23 +1,23 @@ 5c70161462ba15e3fd390ee725a721d35e95fa675e225fb30a605b5399b5a36e gencode/docs/building_config_entity.html c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/commands_discovery.html -7bd462fd9b31a1a35b27f069194051161c484600161d7ef3fa7a4f8efa4e65fb gencode/docs/commands_mapping.html +5456be173c9df0174b545184f7976453635efa306623814f873c3eb739a730ea gencode/docs/commands_mapping.html a65e8177ca59cd51c4a8ff63ecaa194897f7e22b82afb14708d63efbd7b96a84 gencode/docs/config.html 0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html -7caf6f29bff7c358536444c0d8502169f708bcc6f32a3d0a8aae155708b2cd04 gencode/docs/configuration_execution.html +f9bfd4cf442d3fd3a91faace3a91da5600b93ce9528525f1bd6f71589c14ff60 gencode/docs/configuration_execution.html 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html -ffd9325c940b8e832a608a595c8ccc8903b935e899f42219ddc3c79ec65f6202 gencode/docs/events.html +43bc12668f97ba09efaf166d3191b772270522359efc7216e9e28feb8abddf6f gencode/docs/events.html 70e57ad6ef39330d958727ebf9dcd61ef6ea30e4c8653eac412bf1867fdb3a70 gencode/docs/events_alarmset.html -e0268db0f292834ad051fba0315cdf0b2c9850fbb4266414041d7d8e10aa312d gencode/docs/events_discovery.html -808ad1cad37e9f4bf08ea3631162a663998ce60fe8935cbd0ca5e548c3b6df2a gencode/docs/events_mapping.html +44abbbae91d066fa3df01b89ce12f9eef426fcc65ca4b321003058e2e6744e0f gencode/docs/events_discovery.html +338267271e24f91f5803b90eb4587483d35fb372ed600865deb5cb1f0f891a22 gencode/docs/events_mapping.html eafcc3c48189f605f114cde051fea9d13fc5f1a3e395d64fb0a91cb53d4c9aeb gencode/docs/events_pointset.html -cac253f57c5c92ef32e2a5f91b6cec8229e8db1dcffcc96a58f06da068e741e7 gencode/docs/events_system.html -151c1b62db35e84e51d5ff2a7464f61ced4d7fb0c7eb795715c245ee0a1b3436 gencode/docs/events_udmi.html -73dbe799e7943ec20ac58b544998e986a39539d4ef0cb4f5023e92e7634d3124 gencode/docs/events_validation.html -cebf265b0c3d3a6e9c9e8c4e6c723ac36bc088dfabbc789e775388c3d2ec83d0 gencode/docs/metadata.html -c86682715d348bd3dd971fa5bd925a8a3d0f3c2944c65a47c4b64fe1a5ccdea2 gencode/docs/monitoring.html -474ca16edc9f3cad2bb3ab40b6993cbced90263f762f66ee6cd246a6c4a0d18f gencode/docs/persistent_device.html +11e08eb8cd0bf0cbd46f556a664f9cf224c65a30738bfdc8e7b1a6c924f92bdd gencode/docs/events_system.html +df0c4bc706e6a87258905537a5ebc325d6d55695bd9bbbd4c543b62ba501e0b4 gencode/docs/events_udmi.html +3f0e8452d3607ed17cb1df85db533aded0aa012ca5eb19e05a9c27193d7f4357 gencode/docs/events_validation.html +b0652b904de31e72bf3f5d42f9cb415da29f1b8be2d262476ff39d9121a177fe gencode/docs/metadata.html +a19694f3b9dfa5c99d9edc77908bd318e45d7c9764087304e08a8826f3155d97 gencode/docs/monitoring.html +7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/query_cloud.html 6f2cd8163a129667beb79f297f193ecd14d40c4f1ac06570db13d912ab98fd3f gencode/docs/readme.md @@ -25,9 +25,9 @@ c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/q 165a29291d7d66653e46fd1ac5868f63e18f9d67c06ea9ebcb95d4830a528e68 gencode/docs/schema_doc.min.js 7ed934930aee763e0beebc349725ba3909115e8d346bb762f28bcbe745bb163a gencode/docs/schema_extras.js 7a1bbe014c739078d354ec484147325e1d0bd19468f275a53da38add43ebe089 gencode/docs/site_metadata.html -95b953e99a5f202bf3f4348a48d9db62acd4ee9406523a37dcb230513026c4dd gencode/docs/state.html -a47043c68388aa21f5c906e9aa773ed3defb9239771d604153d5d4006e0e4fb9 gencode/docs/state_mapping.html -0b18cfdc1e87e61e696f35d9edd11ffec19dac82260e6f33e8c154dc676f5cc8 gencode/docs/state_validation.html +33c73d5c46282107129c3cc451feafb9ee0c0d1f56299728b5255fa55783c8d5 gencode/docs/state.html +a3aacef4c1749b5d1df946c50485eb89046fa86c84600f9a474a667ee89e45a1 gencode/docs/state_mapping.html +83bc5d0e50b88400c3d97ecb76882a05cb6bb12124df8c6857e37e008685af08 gencode/docs/state_validation.html 17803b0912ffdf0759564572dc98875a89e866d01801025ca01b0e9a21b7b7e4 gencode/java/udmi/schema/AlarmAlarmsetConfig.java d2ef5bfa9f149d18e71a7767f5790cb6ff8ae2739aedd5a6dbf3113e56b62b12 gencode/java/udmi/schema/AlarmAlarmsetEvents.java c3f989ff5f5f7a3c5c7ef0e94c6ac524ae61850ce37b0fbaa4e930a65aa2bb09 gencode/java/udmi/schema/AlarmAlarmsetModel.java @@ -43,14 +43,15 @@ fa94295bc0c97518634c7232e7e55e1c923d7eb42bfa3004651ed183e1ccbb40 gencode/java/u 7364ee9662c193c1066d0c65ebaaf9b21874395ec9fd3558410a03b8b3ee7624 gencode/java/udmi/schema/Basic.java 33fd1a7b98e904f46a98b5229e692a4190e2cb685c7069a7d80f77a76cf1c18d gencode/java/udmi/schema/BlobBlobsetConfig.java 14055abcc28b9dccc8807ff0e3de201a3fa94cd57b879c22bd7f4fab40d109d9 gencode/java/udmi/schema/BlobBlobsetState.java +492ec19e8150728cf1e4863898de3b7fe37693fa0f5990ea33fb909abd78bcf3 gencode/java/udmi/schema/BlobUpdateTestingModel.java 1fe0e6cd4b82a54a0d696f0dd43998c3b08cf7d8b78f63b53fcd9c06d49f589c gencode/java/udmi/schema/BlobsetConfig.java 8c8e8941e34da08cddb0401ec296828d8b7aac1810dbfab6ae9ba5d7019c0dd0 gencode/java/udmi/schema/BlobsetState.java 1110d57d04d4e5da14f6b02d40053cc9b9dabf8e24e44b7441a4a7c66cb546ac gencode/java/udmi/schema/BridgePodConfiguration.java -2e7c0912c6f43b8dae9e9149b7361d3640bde4f01de6e13d8e487fe01be2c2c0 gencode/java/udmi/schema/Bucket.java +d9f2924753c34ea5c8c9532d3a94c0c2fe2891d2cc8766646d40b1e90636f372 gencode/java/udmi/schema/Bucket.java 8773da8131fdc0f9409df0c04132abdaa01f658d0ec0e73dd8aa714b24454bdc gencode/java/udmi/schema/BuildingConfigEntity.java 519ead2ee2fe3e6fe48547266dec9a545521d52d262646f261ebfbbf8500d25f gencode/java/udmi/schema/BuildingTranslation.java 27ca4f61bd43beca0871b465f3906785a1030a4526605f1fa9b10e3adda8df05 gencode/java/udmi/schema/CapabilityValidationState.java -224c6be2cb6d90a47d181fa30ba1418cf6cc5385ec1c010fe112728382a70216 gencode/java/udmi/schema/Category.java +cfd1b02bc51497c3cdf0c35d6e81f32360873694e0cd6c0d30e4eba4c225b478 gencode/java/udmi/schema/Category.java ed9a4802c21fffdedb27040f74714b2cf467d0e32cd9e3d8d864a4f1836612b5 gencode/java/udmi/schema/CloudModel.java 051b4a7c85a2f1a310787f88f336be2fc9b87c99a94ac2f970955d2fe1daa931 gencode/java/udmi/schema/CloudQuery.java 3e6572b16184bde7557eb67334405e7c5b58446e64802658cf0d5ef3b0018909 gencode/java/udmi/schema/Common.java @@ -61,7 +62,7 @@ ed9a4802c21fffdedb27040f74714b2cf467d0e32cd9e3d8d864a4f1836612b5 gencode/java/u 256ecb8fe4388ed5b16c4bbc292a655e423e67c3d5102f18cc053ae6110bf085 gencode/java/udmi/schema/Credential.java 4cfcfcb79aed8b6a0319b17efeb43ad601cb8d7f746ab4352d8ec30e75a61274 gencode/java/udmi/schema/DeviceMappingConfig.java 625c58696de0d960d93195d79f9e88dfcd5717697fb0f0a6310e5114fb7e6438 gencode/java/udmi/schema/DeviceMappingState.java -fd289a9a132a880bf0a14b80ed082ab1dcd77caab54175f8d6ccfc381d2d21ab gencode/java/udmi/schema/DevicePersistent.java +5d5e59bc0305713de8b7a658066c30a0aa0b7d70cd3952376e3d97a3be27088d gencode/java/udmi/schema/DevicePersistent.java 6869d00b063748e9995ba6940f6a323916074a7af28ab1d227772b86a39600bb gencode/java/udmi/schema/DeviceValidationEvents.java ec863d0b69880bd2c3030abcdce1d2b8992a475908ead979cc30722b25c1ead2 gencode/java/udmi/schema/Dimension.java 09c9d674ffdde05f00878924a00ef81dc18d1135d5969e8ab9a8db80038198b7 gencode/java/udmi/schema/DiscoveryCommand.java @@ -148,7 +149,7 @@ d36e487e0f59e6d9416c661aa6a70589a7e5b1763a2ff5a556fea7984b40200f gencode/java/u f2d5c41298ad9cc1e8411ca1e094ada7d6457f1ee71743bcd163f77c51d8d9c0 gencode/java/udmi/schema/SystemModel.java 18a5e1e4daf656776d101aeda94021e6cab6f47f2caab88b7aba8abbbf5d2a7a gencode/java/udmi/schema/SystemState.java 7db128c5607f7f2a701e60895da9f49ae8b2c75a8daf7792fd155d537978fdd0 gencode/java/udmi/schema/TargetTestingModel.java -f9c304ff024f26654ee7f6a06661a825dfaf312a4fffd0cf753f4eea5958060b gencode/java/udmi/schema/TestingModel.java +2f3a162104c16b60f130748f03b3ca29c113d8c7a0e97d25a11c7801f735ef68 gencode/java/udmi/schema/TestingModel.java 6e2a7c00d3f228d798ab67d5f843b379f97d03a31afe3e7a9124f5f0473ff287 gencode/java/udmi/schema/TestingSystemConfig.java 18720de528285d01e9dbe891af0ad043e291dd848f4b35dd1413462eb9ff0d6d gencode/java/udmi/schema/UdmiConfig.java c45ee5bfab48d0f152c57d646a91e7ccd7e33148b4bd1d643813d16fb3c284a0 gencode/java/udmi/schema/UdmiEvents.java @@ -159,14 +160,14 @@ eadc72e31b4796273479967303513b16563af0f946d1e1c7eba1748f9b133d40 gencode/java/u 11f8dab5296d41e86cd623a4ed27b972ae673b141907cb913397d4eb53880c59 gencode/java/udmi/schema/Water.java 0d863349462e546bbfad54e75032170d9967f4ed95aa6bd900f36398fba012a4 gencode/presentation/presentation.json 4cf98cbd132cde0cc8813ac35cf3712cb46014154c817c04ad2902c268cdd8fe gencode/python/pyproject.toml -a98b84029d33a421872a08f7bfb1bd2f23f8dc3bebc8d7a1c2a7f1c8596510bf gencode/python/udmi/schema/__init__.py +109691e3c64245d5cb5e3aa4fb9e60a7e640fa9a326a119f0454a4dd13679f6e gencode/python/udmi/schema/__init__.py f9d90861e568b27445bef241f04cce64cc44731c95c8bd9e3f65cef79d42dab0 gencode/python/udmi/schema/_base.py 0e18050ec17fde8162f75a76d9dc623d3f6ddca4396441bd603189827ed21a80 gencode/python/udmi/schema/access_iot.py 32a951e2bf13f556082f8d94be079b3df6cc081b6ff59f71a82d32782cf8f8f6 gencode/python/udmi/schema/ancillary_properties.py -9f27d0a731ced4b83c9769661fed2656814983394532aac9e2a97c71dd185e2a gencode/python/udmi/schema/bucket.py +2cde1ab831cfe9e06f772bcafd32540111617596b138ecfdcc8af6bc20e29b67 gencode/python/udmi/schema/bucket.py b4f4a394ce4049fafe267a146458d5b1725e2532788c5811b4b0b96f84715e31 gencode/python/udmi/schema/building_config_entity.py 6289f299f33104a14be1c67762c8bcb494c008d34a2ff906ef3760164538fc82 gencode/python/udmi/schema/building_translation.py -9839ac82da64c8ad1b9ae144fa6be9d819a68f8e22336403321cad9af0d0033f gencode/python/udmi/schema/category.py +2c850815ce5ba6d7b9fad5d3257fd87f5a1085303a85e18428f717184adce0db gencode/python/udmi/schema/category.py e92d040fe84cc1bbc6e6b2d81a39dae156e1501e1c07a0b6cfc42e1599403e64 gencode/python/udmi/schema/commands_discovery.py 8468bc35ad108e4618555cab711bdee700b64780e0d8c18f641c6a0ed21e2338 gencode/python/udmi/schema/commands_mapping.py 9e15cea83255f018e6e85fdbf8051211561c10ea34caa926a21eb140de31d82c gencode/python/udmi/schema/common.py @@ -234,12 +235,13 @@ f65ab38c968d1dc2ffb2d3eaf632f401e2b722ff0d6fe69abf20227f694c0d33 gencode/python 53cc53278a4d387bd2f6f9d564be0b80dd470aae5d32bd79d0019fc6ec8dc138 gencode/python/udmi/schema/model_relationships.py 241c702f6a877f41c0ebd997c7e431ba8e6d6c0d1b21bc95a9fc57592ff094a7 gencode/python/udmi/schema/model_system.py 1db2fca012d3da953438b78acd2a5c15d94e46df8b77c459876e20ef2598dfbd gencode/python/udmi/schema/model_system_hardware.py -954806649d0e7364c482f84f75e19b01ce926990d64a79e76400f32043ddda66 gencode/python/udmi/schema/model_testing.py +7329091df4ef03454f2cd2711bfab7246a95a0dff97f13ac642bf31f3d109917 gencode/python/udmi/schema/model_testing.py 345ee1c07dc58c9a2daabf0820e15d881c4af271a8ea85044c45cd4dca3c0afa gencode/python/udmi/schema/model_testing_target.py +0d33512daea525f13629d9d8e541e0ca8de0282fb24c9f1493005ca181ea7f7d gencode/python/udmi/schema/model_testing_update.py f65537d0d2f8a255b9cbc52fd5d52558e3af4e58f6e2f28a43d4eaf4b99adc73 gencode/python/udmi/schema/monitoring.py 5e9531a0fec79fb0bcd637ac68d6b6f38119c054e9b18fe624f2ca283ac2e9bf gencode/python/udmi/schema/monitoring_metric.py 336a38ea7d8fbf81a8f4e7fa56a2365fe849e4a1f86981d62be4a4c44168b104 gencode/python/udmi/schema/options_pubber.py -1a6304a669099579df6226bb83bb7b4dcfef8450206ab86182970244f50a5ce0 gencode/python/udmi/schema/persistent_device.py +ceebc2dc7cdb264730f64036312c42c9e16e8aaea5168ee3bf01bbe1f8c6950d gencode/python/udmi/schema/persistent_device.py 0fd2f78dfc89df3055d617b6f9f70c46c14b5dc307cc5b7705b09d9d782c33c2 gencode/python/udmi/schema/properties.py debb60af8af183f2382f6def95a7a3d051c8b34d68de094e76e7d8636532c3d2 gencode/python/udmi/schema/query_cloud.py 272205c7292ffbf67d58c83fdab293e40d2ddfac8c5d1d480286d09152f542cc gencode/python/udmi/schema/site_externals_link.py diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 732395de23..b1a145c69e 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -320,11 +320,46 @@ jobs: name: udmi-support_${{ github.run_id }}-r path: '*_udmi-support_*.tgz' + blobupdates: + name: Blob Updates + runs-on: ubuntu-24.04 + timeout-minutes: 15 + env: + TARGET_PROJECT: ${{ vars.TARGET_PROJECT || '//mqtt/localhost' }} + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: '21' + - name: base setup + run: bin/run_tests install_dependencies + - name: local setup + run: bin/start_local sites/udmi_site_model $TARGET_PROJECT + - name: regclean + run: bin/test_regclean $TARGET_PROJECT + - name: bin/test_blob_updates + run: bin/test_blob_updates $TARGET_PROJECT + - name: pubber.log + if: ${{ !cancelled() }} + run: more out/pubber.log* | cat + - name: support bundle + if: ${{ !cancelled() }} + run: UDMI_REGISTRY_SUFFIX=_blobupdates bin/support ${{ github.repository_owner }}_${{ github.job }}_ + - uses: actions/upload-artifact@v7 + if: ${{ !cancelled() }} + with: + if-no-files-found: error + name: udmi-support_${{ github.run_id }}-blobupdates + path: '*_udmi-support_*.tgz' + posttest: name: Post-test Summarization runs-on: ubuntu-24.04 timeout-minutes: 5 - needs: [ baseline, sequencer, endpoint, runlocal ] + needs: [ baseline, sequencer, endpoint, runlocal, blobupdates ] if: ${{ !cancelled() }} env: TARGET_PROJECT: ${{ vars.TARGET_PROJECT || '//mqtt/localhost' }} diff --git a/.wordlist.txt b/.wordlist.txt index ac1af2aac3..8f8861b73b 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -20,6 +20,7 @@ bambi BCD bcd blobset +blobsets BMS boolean BOS @@ -38,6 +39,8 @@ contextualise coreutils CoV cron +cryptographic +cryptographically datapoint DBO DBP @@ -87,6 +90,7 @@ hostname http https IAM +idempotency idToken integrations invoker @@ -106,6 +110,7 @@ KNX kube kubectl Kubernetes +lifecycle localhost localnet logentry @@ -128,6 +133,7 @@ niversal nmap npm nterface +observability OIDC Onboarding onboarding @@ -135,6 +141,7 @@ OPC optionality Optionality OSS +oversized pagent parameterization parsers @@ -212,6 +219,7 @@ UI uint unconfigured underspecified +unencoded uniqs unitid UNK diff --git a/bin/clone_model b/bin/clone_model index bf3f0ea8ff..a72b7623ed 100755 --- a/bin/clone_model +++ b/bin/clone_model @@ -7,7 +7,7 @@ cd $SITE_DIR MODEL_LINK=site_model MODEL_DIR=udmi_site_model -MODEL_VER=1.22 +MODEL_VER=1.23 TEST_SITE_GIT=https://github.com/faucetsdn/$MODEL_DIR.git MODEL_REPO=origin diff --git a/bin/test_blob_updates b/bin/test_blob_updates new file mode 100755 index 0000000000..7e217b03d6 --- /dev/null +++ b/bin/test_blob_updates @@ -0,0 +1,79 @@ +#!/bin/bash -e + +ROOT_DIR=$(realpath $(dirname $0)/..) +cd $ROOT_DIR + +if [[ $# != 1 ]]; then + echo Usage: $0 PROJECT_SPEC + false +fi + +project_spec=$1 +shift + +function log { + $ROOT_DIR/bin/timestamp $@ +} + +function fail { + $ROOT_DIR/bin/timestamp $@ + false +} + +site_path=sites/udmi_site_model +device_id=AHU-1 +serial_no=sequencer-$RANDOM + +# Use tag v2 for module update +target_commit="v2" +# shellcheck disable=SC2089 +payload='{"version": "'${target_commit}'"}' + +mkdir -p out/ + +rm -f out/blobs.json +pubber_log=out/pubber.log.${serial_no} + +log "Starting pubber with serial $serial_no..." +bin/pubber $site_path $project_spec $device_id $serial_no > $pubber_log 2>&1 & +pubber_pid=$! + +log "Waiting for pubber to start..." +sleep 20 + +log "Target commit for update: $target_commit" + +log "Generating and applying blob update config..." +generation_payload=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + +bin/update_blob $site_path $project_spec $device_id pubber_module "$payload" --generation "$generation_payload" + +log "Waiting for pubber to process update..." +sleep 20 + +log "Verifying logs..." +if grep -q "Updating pubber module to: $target_commit" $pubber_log; then + log "Update trigger detected." +else + fail "Update trigger NOT detected." +fi + +# Wait for update to complete and state to propagate +sleep 20 + +if grep -q "Mock module update completed" $pubber_log; then + log "Blob update success detected." +else + fail "Blob success NOT detected." +fi + +if jq -e --arg gen "$generation_payload" '.blobset.blobs.pubber_module.phase == "final" and .blobset.blobs.pubber_module.generation == $gen' pubber/out/state.json > /dev/null; then + log "Blob state phase: FINAL verified in state" +else + fail "Blob state phase: FINAL NOT found in state" +fi + +log "Blob update test passed!" + +echo Cleaning up pubber background process... +kill $pubber_pid diff --git a/bin/test_runlocal b/bin/test_runlocal index dbd59227b7..6a7d2fec04 100755 --- a/bin/test_runlocal +++ b/bin/test_runlocal @@ -13,7 +13,7 @@ cat out/message_capture.log echo Captured $(wc -l out/message_capture.log) messages. systems=$(find out/registries/ -name \*update_model.json | xargs jq .system | fgrep -v null | wc -l) || true -[[ $systems == 269 ]] || fail Expected 269 system operations, found $systems +[[ $systems == 274 ]] || fail Expected 269 system operations, found $systems deletes=$(find out/registries/ -name \*update_model.json | xargs jq .operation | fgrep DELETE | wc -l) || true [[ $deletes == 1 ]] || fail Expected 1 delete operations, found $deletes diff --git a/bin/update_blob b/bin/update_blob new file mode 100755 index 0000000000..cf53a16329 --- /dev/null +++ b/bin/update_blob @@ -0,0 +1,131 @@ +#!/bin/bash -e + +ROOT=$(realpath $(dirname $0)/..) + +sha256="" +generation="" +help=false +positional_args=() + +while [[ $# -gt 0 ]]; do + case $1 in + --sha256) + sha256="$2" + shift 2 + ;; + --generation) + generation="$2" + shift 2 + ;; + -h|--help) + help=true + shift + ;; + *) + positional_args+=("$1") + shift + ;; + esac +done + +if [[ ${#positional_args[@]} -lt 5 || "$help" == "true" ]]; then + echo "Usage: $0 [OPTIONS] SITE_DIR PROJECT_ID DEVICE_ID BLOB_NAME PAYLOAD_OR_URL" + echo "" + echo "Trigger a generic blob update to a target device by updating its configuration." + echo "" + echo "Positional Arguments:" + echo " SITE_DIR Path to the site model directory" + echo " PROJECT_ID GCP Project ID or execution spec" + echo " DEVICE_ID Target device ID" + echo " BLOB_NAME Name of the blob block (e.g., pubber_module, firmware)" + echo " PAYLOAD_OR_URL Path to local file, direct string payload, or remote URL" + echo "" + echo "Options:" + echo " --sha256 Expected SHA256 hash (required for remote URLs, auto-computed otherwise)" + echo " --generation UTC ISO timestamp (defaults to current time)" + false +fi + +site_dir=$(realpath "${positional_args[0]}") +project_id="${positional_args[1]}" +device_id="${positional_args[2]}" +blob_name="${positional_args[3]}" +payload_or_url="${positional_args[4]}" +phase="final" + +if [[ -z $generation ]]; then + generation=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +fi + +if [[ -f $payload_or_url ]]; then + echo "Detected local file payload: $payload_or_url" + mime_type=$(file -b --mime-type "$payload_or_url" 2>/dev/null || echo "application/octet-stream") + base64_payload=$(base64 -w 0 "$payload_or_url") + url="data:${mime_type};base64,${base64_payload}" + if [[ -z $sha256 ]]; then + sha256=$(openssl sha256 < "$payload_or_url" | awk '{print $NF}') + fi +elif [[ "$payload_or_url" =~ ^(http://|https://|data:) ]]; then + echo "Detected URL payload: $payload_or_url" + url="$payload_or_url" + if [[ -z $sha256 ]]; then + echo "Error: SHA256 must be provided when supplying a remote URL." + false + fi +else + echo "Detected direct string payload." + if [[ "$payload_or_url" =~ ^\{ ]]; then + mime_type="application/json" + else + mime_type="text/plain" + fi + base64_payload=$(echo -n "$payload_or_url" | base64 -w 0) + url="data:${mime_type};base64,${base64_payload}" + if [[ -z $sha256 ]]; then + sha256=$(echo -n "$payload_or_url" | openssl sha256 | awk '{print $NF}') + fi +fi + +echo "Target Blob Name: $blob_name" +echo "Phase: $phase" +echo "Generation: $generation" +echo "SHA256: $sha256" + +out_base="$site_dir/devices/$device_id/out" +config_base="$site_dir/devices/$device_id/config" +mkdir -p "$config_base" + +blob_json=$(jq -n \ + --arg blob_name "$blob_name" \ + --arg phase "$phase" \ + --arg url "$url" \ + --arg sha256 "$sha256" \ + --arg generation "$generation" \ + '{ + "blobset": { + "blobs": { + ($blob_name): { + "phase": $phase, + "url": $url, + "sha256": $sha256, + "generation": $generation + } + } + } + }') + +target_config="$config_base/blob_update_config.json" +rm -f "$target_config" + +if [[ -f "$out_base/generated_config.json" ]]; then + echo "Merging blob configuration with existing $out_base/generated_config.json..." + jq -s '.[0] * .[1]' "$out_base/generated_config.json" <(echo "$blob_json") > "$target_config" +else + echo "Creating new configuration with blob block..." + echo "$blob_json" > "$target_config" +fi + +echo "Applying update config using bin/reset_config..." +"$ROOT/bin/reset_config" "$site_dir" "$project_id" "$device_id" "blob_update_config.json" + +echo "Blob update successfully triggered for device $device_id!" diff --git a/docs/specs/blob_updates.md b/docs/specs/blob_updates.md new file mode 100644 index 0000000000..eb341a1634 --- /dev/null +++ b/docs/specs/blob_updates.md @@ -0,0 +1,147 @@ +[**UDMI**](../../) / [**Docs**](../) / [**Specs**](./) / [Blob Updates](#) + +# Blob Updates Specification + +The _Blob Updates API_ defines a standard mechanism for delivering data blobs to a device via the UDMI configuration channel. This mechanism is commonly utilized for firmware updates, software module installations, security keys, or large configuration packages that are too large to fit directly into standard JSON configuration messages. + +A device indicates its supported data blobs through discovery mechanisms, and the cloud controls the download, validation, and application of these blobs through the `blobset` block in the device configuration. + +--- + +## Architecture & Data Models + +The blob update mechanism splits operations into individual named blob targets within a `blobs` map under the `blobset` object. + +### Config Structure + +The [`blobset` block in configuration](../../schema/config_blobset.json) contains a `blobs` object where each key represents a unique blob identifier (e.g., `_iot_endpoint_config`, `manufacturer_proprietary_module`). Each blob configuration object specifies: + +* **`phase`**: The desired management phase of the blob. Supported value: + * `final`: The cloud expects the device to fully download, verify, and apply this blob version. +* **`url`**: The location from which the device can fetch the blob payload. This could be an external URL (HTTP/HTTPS), a cloud storage URI, or inline base64 data encoded via a data URI schema (e.g., `data:application/json;base64,...`). +* **`sha256`**: A 64-character lowercase hexadecimal string representing the expected SHA-256 cryptographic checksum of the unencoded blob payload. This ensures tamper protection and validation. +* **`generation`**: An RFC 3339 UTC timestamp indicating when this version of the blob was generated. This serves as a unique version identifier. + +### State Structure + +The [`blobset` block in state](../../schema/state_blobset.json) reflects the processed condition of each blob. For each blob target, the device must report: + +* **`phase`**: The current operational phase or result. Supported values: + * `apply`: (Optional/Intermediate) The device is actively processing or applying the blob payload. + * `final`: The device has completed processing the blob (successfully or with terminal failure). +* **`generation`**: The generation timestamp of the configuration blob currently active or processed. +* **`status`**: A standard [Entry status object](../../schema/entry.json) providing the success or failure results of the last processing attempt, including error levels, categories, and descriptive messages. + +--- + +## Update Sequence Flow + +> [!IMPORTANT] +> **Observable Update Process** +> Devices are required to emit standard hierarchical log categories at each distinct operational milestone. This systematic telemetry creates a fully observable update pipeline, allowing cloud management platforms and automated testing frameworks to trace payload downloads, verification steps, and installation progress in real-time. + +A standard successful blob update execution flows as follows: + +```mermaid +%%{wrap}%% +sequenceDiagram + autonumber + participant C as Cloud / Core Service + participant D as Device + + C->>D: CONFIG MESSAGE
blobset.blobs. = { phase: "final", url: "...", sha256: "...", generation: "T1" } + D->>D: Emit log category: blobset.blob.receive (DEBUG) + D->>D: Emit log category: blobset.blob.fetch (DEBUG) + D->>D: Download & verify SHA-256 hash + D->>D: Emit log category: blobset.blob.parse (DEBUG) + D->>C: STATE MESSAGE
blobset.blobs. = { phase: "apply", generation: "T1" } + D->>D: Emit log category: blobset.blob.apply (NOTICE) + D->>C: STATE MESSAGE
blobset.blobs. = { phase: "final", generation: "T1", status: null } +``` + +### Idempotency & Optimization +Devices **must** check the `generation` or cryptographic `sha256` hash of a newly received blob configuration against the currently active blob. If they match, the device **must not** re-fetch or re-apply the blob, and no duplicate lifecycle log messages should be emitted. + +--- + +## Error Handling & Log Categories + +Granular observability relies on consistent telemetry. When tracking the lifecycle of blob updates or reporting processing failures, the device must use hierarchical log categories and status entries under the `blobset.blob` namespace. + +| Category | Level | Description / Failure Scenarios | +| :--- | :--- | :--- | +| **`blobset.blob.update`** | `INFO` | Information: General category for processing a blob update. | +| **`blobset.blob.receive`** | `DEBUG` | Emitted when a new or updated blob configuration block is received. | +| **`blobset.blob.fetch`** | `DEBUG` | Emitted when starting a network fetch or reading inline data payload. | +| **`blobset.blob.fetch.oversize`** | `ERROR` | Terminal failure: Insufficient local storage or memory to download or unpack the blob. | +| **`blobset.blob.fetch.failure`** | `ERROR` | Terminal failure: Resource unreachable, network connection timed out, or HTTP 404 returned. | +| **`blobset.blob.parse`** | `DEBUG` | Emitted when beginning the verification, checksum calculation, or format parsing. | +| **`blobset.blob.parse.corrupt`** | `ERROR` | Terminal failure: The computed SHA-256 hash of the downloaded resource does not match the expected `sha256` parameter. | +| **`blobset.blob.parse.invalid`** | `ERROR` | Terminal failure: The format or structure of the payload is invalid or structurally malformed. | +| **`blobset.blob.parse.incompatible`**| `ERROR` | Terminal failure: The content is valid but target version/architecture is incompatible with this hardware model. | +| **`blobset.blob.apply`** | `NOTICE`| Emitted when applying or executing the validated update block. | +| **`blobset.blob.apply.failure`** | `ERROR` | Terminal failure: Unexpected execution exception or internal installer error during setup. | +| **`blobset.blob.apply.dependency`**| `ERROR` | Terminal failure: Required hardware or software prerequisites are missing. | +| **`blobset.blob.apply.restart`** | `NOTICE`| Information: The blob was written successfully, but a device reboot/restart is required to take effect. | +| **`blobset.blob.abort`** | `NOTICE`| Information: The active download or update process was canceled by the cloud or aborted locally. | +| **`blobset.blob.rollback`** | `NOTICE`| Information: A problem was detected post-apply, and the device is rolling back to the previous version. | + +--- + +## Message Examples + +### 1. Config Triggering a Module Update +```json +{ + "version": "1.5.2", + "timestamp": "2026-05-04T13:00:00.000Z", + "blobset": { + "blobs": { + "pubber_module": { + "phase": "final", + "url": "https://storage.googleapis.com/udmi-device-blobs/pubber_module_v2.bin", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "generation": "2026-05-04T12:30:00.000Z" + } + } + } +} +``` + +### 2. State Reporting Success +```json +{ + "version": "1.5.2", + "timestamp": "2026-05-04T13:00:15.000Z", + "blobset": { + "blobs": { + "pubber_module": { + "phase": "final", + "generation": "2026-05-04T12:30:00.000Z" + } + } + } +} +``` + +### 3. State Reporting a Corrupt/Failed Update +```json +{ + "version": "1.5.2", + "timestamp": "2026-05-04T13:00:08.000Z", + "blobset": { + "blobs": { + "pubber_module": { + "phase": "final", + "generation": "2026-05-04T12:30:00.000Z", + "status": { + "level": 500, + "category": "blobset.blob.parse.corrupt", + "message": "Downloaded payload SHA-256 hash mismatch", + "timestamp": "2026-05-04T13:00:07.000Z" + } + } + } + } +} +``` diff --git a/docs/specs/buckets.md b/docs/specs/buckets.md index 6a1f481599..15e8b262cf 100644 --- a/docs/specs/buckets.md +++ b/docs/specs/buckets.md @@ -20,4 +20,6 @@ These are used to label individual line-item tests. * _pointset_: Pointset and telemetry capabilities * _system_: Basic system operations * _mode_: System mode + * _software_: System software + * _updates_: Over the air software updates * _writeback_: Writeback related operations diff --git a/docs/specs/categories.md b/docs/specs/categories.md index 3f43828c7d..5e098c98fe 100644 --- a/docs/specs/categories.md +++ b/docs/specs/categories.md @@ -55,10 +55,22 @@ could be used with a **WARNING** level for a warning case during normal operatio * _device_: Relating to a specific individual device * _apply_: (**INFO**) Stage of applying a device mapping * _blobset_: Handling update of device data blobs - * _blob_: Conditions specific to an individual blob + * _blob_: (**INFO**) Conditions specific to an individual blob + * _update_: (**INFO**) Processing a blob update * _receive_: (**DEBUG**) About receiving a blob update * _fetch_: (**DEBUG**) Fetching a blob update + * _oversize_: (**ERROR**) Insufficient storage to download or unpack blob + * _failure_: (**ERROR**) Blob fetch failed + * _parse_: (**DEBUG**) Parsing and verifying a blob + * _corrupt_: (**ERROR**) Data integrity check failed + * _invalid_: (**ERROR**) The data is invalid in some way + * _incompatible_: (**ERROR**) Blob is incompatible with the device for some reason * _apply_: (**NOTICE**) Applying a blob update + * _failure_: (**ERROR**) Failed to install or execute + * _dependency_: (**ERROR**) Dependencies required to apply are missing + * _restart_: (**NOTICE**) Restart required to take effect + * _abort_: (**NOTICE**) Blob update process was canceled or aborted + * _rollback_: (**NOTICE**) Reverting to previous blob version * _validation_: Handling validation pipeline messages * _device_: Conditions specific to processing a given device message. * _receive_: (**DEBUG**) Receiving/processing a message for validation. diff --git a/docs/specs/readme.md b/docs/specs/readme.md index a8490235d5..8cdde5137b 100644 --- a/docs/specs/readme.md +++ b/docs/specs/readme.md @@ -16,6 +16,7 @@ - [Point Mapping](point_mapping.md) - [Sequences](sequences/) (device-to-cloud API) - [Subblocks](subblocks.md) (core-to-apps API) +- [Blob Updates](blob_updates.md) - [Categories](categories.md) - [Log/Status Entries](entries.md) - [System Mode](system_mode.md) diff --git a/docs/specs/sequences/generated.md b/docs/specs/sequences/generated.md index 45917faecc..897c63c437 100644 --- a/docs/specs/sequences/generated.md +++ b/docs/specs/sequences/generated.md @@ -34,6 +34,13 @@ Some caveats: * [bad_point_ref](#bad_point_ref-preview): Error handling for badly formed gateway point ref Test skipped: Not a proxied device * [bad_target_address](#bad_target_address-preview): Error handling for badly formed gateway target address Test skipped: Not a proxied device * [bad_target_family](#bad_target_family-preview): Error handling for badly formed gateway target family Test skipped: Not a proxied device +* [blob_update_idempotency](#blob_update_idempotency-preview): Validates that a previously applied blob config is not reapplied. +* [blob_update_incompatible](#blob_update_incompatible-preview): Validates reporting of incompatibility for a blob update. +* [blob_update_invalid_hash](#blob_update_invalid_hash-preview): Validates tamper protection by providing a valid URL but an incorrect SHA-256 hash. +* [blob_update_invalid_payload](#blob_update_invalid_payload-preview): Validates format and signature checking by providing a dummy payload. +* [blob_update_oversize](#blob_update_oversize-preview): Validates reporting of an oversized payload fetch failure. +* [blob_update_success](#blob_update_success-preview): Validates a successful blob update where the device fetches, applies, and reports the new version. +* [blob_update_unreachable_url](#blob_update_unreachable_url-preview): Validates network resilience by providing an unreachable or 404 URL. * [broken_config](#broken_config-stable): Check that the device correctly handles a broken (non-json) config message. * [config_logging](#config_logging-stable): Check that the device publishes minimum required log entries when receiving config * [device_config_acked](#device_config_acked-stable): Check that the device MQTT-acknowledges a sent config. @@ -91,6 +98,117 @@ Error handling for badly formed gateway target family Test skipped: Not a proxied device +## blob_update_idempotency (PREVIEW) + +Validates that a previously applied blob config is not reapplied. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module state is success +1. Check that pubber_module software version reflects update +1. Wait for pubber_module phase is FINAL +1. Check that log level `DEBUG` (or greater) category `blobset.blob.receive` was not logged +1. Check that log level `DEBUG` (or greater) category `blobset.blob.fetch` was not logged +1. Check that log level `INFO` (or greater) category `blobset.blob.apply` was not logged + +Test passed. + +## blob_update_incompatible (PREVIEW) + +Validates reporting of incompatibility for a blob update. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.parse.incompatible` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_update_invalid_hash (PREVIEW) + +Validates tamper protection by providing a valid URL but an incorrect SHA-256 hash. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.parse.corrupt` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_update_invalid_payload (PREVIEW) + +Validates format and signature checking by providing a dummy payload. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.parse.invalid` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_update_oversize (PREVIEW) + +Validates reporting of an oversized payload fetch failure. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.fetch.oversize` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_update_success (PREVIEW) + +Validates a successful blob update where the device fetches, applies, and reports the new version. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module state is success +1. Check that pubber_module software version reflects update + +Test passed. + +## blob_update_unreachable_url (PREVIEW) + +Validates network resilience by providing an unreachable or 404 URL. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` +1. Check that pubber_module state indicates error + +Test passed. + ## broken_config (STABLE) Check that the device correctly handles a broken (non-json) config message. diff --git a/etc/sequencer.out b/etc/sequencer.out index 69bb49397d..becd31d9f1 100644 --- a/etc/sequencer.out +++ b/etc/sequencer.out @@ -43,6 +43,13 @@ RESULT pass system family_ether_addr PREVIEW 10/10 Sequence complete RESULT pass system family_ipv4_addr PREVIEW 10/10 Sequence complete RESULT skip system family_ipv6_addr PREVIEW 0/0 No ipv6 address defined in metadata RESULT pass system.mode system_mode_restart PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_idempotency PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_incompatible PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_invalid_hash PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_invalid_payload PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_oversize PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_success PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_unreachable_url PREVIEW 10/10 Sequence complete RESULT pass system state_make_model STABLE 10/10 Sequence complete RESULT pass system state_software STABLE 10/10 Sequence complete RESULT pass system system_last_update STABLE 11/11 Sequence complete diff --git a/etc/sequencer_nostate.out b/etc/sequencer_nostate.out index 59911b343b..eefe2d53ba 100644 --- a/etc/sequencer_nostate.out +++ b/etc/sequencer_nostate.out @@ -38,6 +38,13 @@ RESULT skip system family_ether_addr PREVIEW 0/0 State testing disabled RESULT skip system family_ipv4_addr PREVIEW 0/0 State testing disabled RESULT skip system family_ipv6_addr PREVIEW 0/0 State testing disabled RESULT skip system.mode system_mode_restart PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_idempotency PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_incompatible PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_invalid_hash PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_invalid_payload PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_oversize PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_success PREVIEW 0/0 State testing disabled +RESULT skip system.software.updates blob_update_unreachable_url PREVIEW 0/0 State testing disabled RESULT skip system state_make_model STABLE 0/0 State testing disabled RESULT skip system state_software STABLE 0/0 State testing disabled RESULT skip system system_last_update STABLE 0/0 State testing disabled diff --git a/gencode/docs/commands_mapping.html b/gencode/docs/commands_mapping.html index 66bd215042..2ff1d2b873 100644 --- a/gencode/docs/commands_mapping.html +++ b/gencode/docs/commands_mapping.html @@ -504,6 +504,71 @@

id="status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_status_category_oneOf_i36" role="tab" onclick="setAnchor('#status_category_oneOf_i36')" >Option 37 +
@@ -1498,7 +1563,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -1538,7 +1603,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -1578,7 +1643,7 @@

/> item 26Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -1618,7 +1683,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -1658,7 +1723,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -1698,7 +1763,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -1738,7 +1803,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -1778,7 +1843,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -1818,7 +1883,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -1858,7 +1923,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -1898,7 +1963,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1938,7 +2003,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -1978,7 +2043,527 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/configuration_execution.html b/gencode/docs/configuration_execution.html index facf8a4a4b..893d94942a 100644 --- a/gencode/docs/configuration_execution.html +++ b/gencode/docs/configuration_execution.html @@ -4465,6 +4465,71 @@

id="mapping_configuration_devices_pattern1_status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_mapping_configuration_devices_pattern1_status_category_oneOf_i36" role="tab" onclick="setAnchor('#mapping_configuration_devices_pattern1_status_category_oneOf_i36')" >Option 37 +
@@ -5984,7 +6049,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -6045,7 +6110,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -6106,7 +6171,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -6167,7 +6232,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -6228,7 +6293,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -6289,7 +6354,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -6350,7 +6415,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -6411,7 +6476,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -6472,7 +6537,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -6533,7 +6598,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -6594,7 +6659,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -6655,7 +6720,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -6716,7 +6781,800 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events.html b/gencode/docs/events.html index c70fd2beb3..501ae78be3 100644 --- a/gencode/docs/events.html +++ b/gencode/docs/events.html @@ -650,6 +650,71 @@

id="system_logentries_items_category_oneOf_i36" data-toggle="tab" href="#tab-pane_system_logentries_items_category_oneOf_i36" role="tab" onclick="setAnchor('#system_logentries_items_category_oneOf_i36')" >Option 37 +
@@ -1994,7 +2059,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -2048,7 +2113,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -2102,7 +2167,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -2156,7 +2221,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -2210,7 +2275,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -2264,7 +2329,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -2318,7 +2383,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -2372,7 +2437,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2426,7 +2491,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2480,7 +2545,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2534,7 +2599,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2588,7 +2653,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -2642,37 +2707,16 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - - +Must match regular expression: ^blobset\.blob\.apply\.dependency$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - - - -
-
-
-

- -

-
- -
-
- - Type: integer
-

Sequence number for this event

-
+ item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: number
- + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: number
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: number
- + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: number
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: number
- + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
- - - - - - - -
-
-
-

- -

-
- -
-
+
+

Pointset Events

Type: object
-

A set of points reporting telemetry data. Pointset Events Documentation

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
-

RFC 3339 UTC timestamp the telemetry event was generated

-
- - - - - -
-
Example:
-
"2019-01-17T14:02:29.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Version of the UDMI schema

-
+ oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Original version of schema pre-upgrade

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: boolean
-

Indicates if this is a partial update (only some points may be included)

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Collection of point names, defining the representative point set for this device.

-
No Additional Properties + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Point Pointset Events

Type: object
-

Object representation for for a single point

-
+ Entry + + + + category + + + + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-

- -

-
+ -
-
+ +
+
-

The specific point data reading. If the value is numeric, then the type must be integer or number. If the value is an integer, it should be represented as type integer

-

- -

-
+ category + + + + oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
Type: string
- + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -3509,7 +3309,7 @@

+ id="tab-pane_system_logentries_items_category_oneOf_i48" role="tabpanel"> Type: boolean
- + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -3563,7 +3363,7 @@

+ id="tab-pane_system_logentries_items_category_oneOf_i49" role="tabpanel"> Type: number
- + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -3622,43 +3422,23 @@

-
-
Examples:
-
24.1
-
-
"running"
-
-
4
-
-
-

-
-
-
-
-
-
-
-
-
-
-
+ -
+
-
+

- +

-
+

Discovery Events

Type: object
-

Discovery result with implicit discovery

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
-

RFC 3339 UTC timestamp the discover telemetry event was generated

+ Entry + + + + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

@@ -3717,25 +3479,25 @@


Example:
-
"2019-01-17T14:02:29.364Z"
+
"2018-08-26T21:39:28.364Z"
 

-
+
-
+

- +

-
+
Type: string
-

Version of the UDMI schema

+ logentries + + + + Entry + + + + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- +
+
Example:
+
600
+
+
-
+
+
+
+
+
+
+
-
+

- +

-
+
Type: stringFormat: date-time
-

The event's discovery scan trigger's generation timestamp

+ event_no
Type: integer
+

Sequence number for this event

-
-
Example:
-
"2019-01-17T14:02:29.364Z"
-
-
+
-
+
-
+

- +

-
+

Entry

Type: object
+ metrics
Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+
+
+ + Type: number
- No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

-
+ mem_free_mb
Type: number
+ -
-
Example:
-
"Point is not writable"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ store_total_mb
Type: number
+ @@ -3948,18 +3769,18 @@

-
+
-
+

- +

-
+

Category

Type: string
+ store_free_mb
Type: number
+ - +
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.start$ + system_load
Type: number
+ -
- +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+

Pointset Events

Type: object
+

A set of points reporting telemetry data. Pointset Events Documentation

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.base\.shutdown$ + timestamp
Type: stringFormat: date-time
+

RFC 3339 UTC timestamp the telemetry event was generated

+
- -
- +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: string
+

Version of the UDMI schema

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Original version of schema pre-upgrade

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.base\.ready$ + pointset + + + + partial_update
Type: boolean
+

Indicates if this is a partial update (only some points may be included)

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
+

Collection of point names, defining the representative point set for this device.

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: object
-Must match regular expression: ^system\.config\.receive$ + Point Pointset Events

Point Pointset Events

Type: object
+

Object representation for for a single point

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+

The specific point data reading. If the value is numeric, then the type must be integer or number. If the value is an integer, it should be represented as type integer

+

+ +

+
+ + + Type: object
-Must match regular expression: ^system\.config\.parse$ - - - - - - -
- - - Type: object
-Must match regular expression: ^system\.config\.apply$ + item 0
Type: string
+ @@ -4457,7 +4276,7 @@

+ id="tab-pane_pointset_points_pattern1_present_value_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + oneOf + + + + item 1
Type: boolean
+ @@ -4504,7 +4330,7 @@

+ id="tab-pane_pointset_points_pattern1_present_value_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + oneOf + + + + item 2
Type: number
+ -
- +
+ + + + + +
+
Examples:
+
24.1
+
+
"running"
+
+
4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+

Discovery Events

Type: object
+

Discovery result with implicit discovery

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

RFC 3339 UTC timestamp the discover telemetry event was generated

+
+ + + + + +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.auth\.fail$ + version
Type: string
+

Version of the UDMI schema

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: stringFormat: date-time
+

The event's discovery scan trigger's generation timestamp

+
+ + + + + +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + status

Entry

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.applied$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- - - Type: object
-Must match regular expression: ^pointset\.point\.updating$ - - - - - - -
- - - Type: object
-Must match regular expression: ^pointset\.point\.overridden$ - - - - +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^pointset\.point\.failure$ - - - + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- - - Type: object
-Must match regular expression: ^pointset\.point\.invalid$ - +
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^localnet\.network$ - - - - + category

Category

Type: string
- -
- - Type: object
-Must match regular expression: ^localnet\.network\.connect$ - - - - - - -
+

+ +

+
Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -5021,7 +5054,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -5068,7 +5101,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -5115,7 +5148,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -5162,7 +5195,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -5209,7 +5242,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -5256,7 +5289,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -5303,7 +5336,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -5350,7 +5383,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -5397,7 +5430,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -5444,7 +5477,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -5491,7 +5524,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -5538,7 +5571,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -5585,7 +5618,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -5632,7 +5665,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -5679,7 +5712,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -5726,7 +5759,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -5773,7 +5806,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -5820,7 +5853,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -5867,7 +5900,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 19Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - -
-
-
-

- -

-
- -
-
- - Type: object
- + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: string
-

The primary address of the device (for indicated family)

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

The family network designator of the discovered device

-
+ oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: integer
-

The active or passive series number of this result (matches reported state values)

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Links to other address families (family and id)

-
No Additional Properties + oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + category + + + + oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -
-
-
-
-
-
-
-
- - - - -
-
-
-

- -

-
- -
-
+
+ Type: object
-

Registry iot cloud models

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
- -

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
- - No Additional Properties + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ -
-
-
-

- -

-
- -
-
+
+ Type: integer
-

Function version of this request

-
+ oneOf + + + + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: boolean
-

Indicates if the device private key is provided in the site model.

-
+ oneOf + + + + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ oneOf + + + + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Gateway Model

Type: object
-

Gateway Documentation

-
- - No Additional Properties + oneOf + + + + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

The device ID of the gateway the device is bound to

-
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ -
-
Example:
-
"GAT-100"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+

Family Localnet Model

Type: object
-

The type of network

-
- - No Additional Properties + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

The address of a device on the fieldbus/local network

-
+ item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ -
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

The network designator for this device in the family-defined format

-
+ item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: object
- No Additional Properties + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+ Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: string
- + status + + + + category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Specifies that this is a shadow of the indicated device

-
+ item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

The device id of the node's parent

-
+ item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

The family designator, used only when the entry is not keyed in a family map

-
+ item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

The network within the gateway device to use for this network

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
Examples:
-
"modbus_1"
-
-
"bacnet_1"
-
-
-
-
-
-
- - - - -
-
-
-

- -

-
- -
-
+ +
+ Type: array of string
-

An array of all the device IDs which are bound to the device

-
+ item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ - No Additional Items

Each item of this array must be:

-
-
+ +
Type: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-

-
Example:
-
[
-    "AHU-22"
-]
-
-
-
-
- - - - - - -
-
-
-

- -

-
- -
-
+
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
- - No Additional Properties + oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Config file to use. Within the config directory in the device's metadata directory

-
+ item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
- - -
-
-
-

- -

-
- -
-
+
+ Type: boolean
- + oneOf + + + + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: string
+ oneOf + + + + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + +
+ @@ -7839,18 +7367,18 @@

-
+
-
+

- +

-
+
Type: string
- + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
- +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- +
+
Example:
+
600
+
+
-
+
+
+
+
+
-
+

- +

-
+
Type: object
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
- + addr
Type: string
+

The primary address of the device (for indicated family)

+
@@ -8001,18 +7556,18 @@

-
+
-
+

- +

-
+
Type: string
+

The family network designator of the discovered device

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
- + event_no
Type: integer
+

The active or passive series number of this result (matches reported state values)

+
@@ -8055,18 +7638,18 @@

-
+
-
+

- +

-
+
Type: object
+

Links to other address families (family and id)

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: stringFormat: date-time
+ families + + + + Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: string
- + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -8163,18 +7781,18 @@

-
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

-
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
-
+ ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -8222,18 +7836,26 @@

Must be one of:

-
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Strigified version of the metadata object, used for internal backend processing

-
+ registries
Type: object
+

Registry iot cloud models

+
No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
Type: object
-

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+ Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+ + No Additional Properties -
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-._a-zA-Z0-9]+$ -
+
+
Type: object
- + functions_ver
Type: integer
+

Function version of this request

+
@@ -8394,30 +7987,18 @@

-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+

- +

-
+
Type: object
-

Device iot cloud models

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
- -

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
- - No Additional Properties + auth_type
Type: enum (of string)
+

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
-
+
+
+
+
+
-
+

- +

-
+
Type: integer
-

Function version of this request

+ device_key
Type: boolean
+

Indicates if the device private key is provided in the site model.

@@ -8549,18 +8100,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
Type: enum (of string)
+

The cloud resource type

+

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
@@ -8607,18 +8158,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: boolean
-

Indicates if the device private key is provided in the site model.

+ gateway

Gateway Model

Type: object
+

Gateway Documentation

+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ gateway + + + + gateway_id
Type: string
+

The device ID of the gateway the device is bound to

+
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ - +
+
Example:
+
"GAT-100"
+
+
-
+
-
+

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

+ gateway + + + + target

Family Localnet Model

Type: object
+

The type of network

No Additional Properties @@ -8773,18 +8337,18 @@

-
+
-
+

- +

-
+
Type: string
-

The device ID of the gateway the device is bound to

-
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

+

-
Example:
-
"GAT-100"
+
Examples:
+
"192.168.1.3"
+
+
"41489"
 
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

+ target + + + + network
Type: string
+

The network designator for this device in the family-defined format

- - No Additional Properties - -
+
+
Examples:
+
"192.168.1.0/24"
+
+
"12732"
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

The address of a device on the fieldbus/local network

-
+ adjunct
Type: object
+ No Additional Properties -
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
-
-
-
-
-
+ +
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: string
-

The network designator for this device in the family-defined format

-
+ adjunct + + + + ^[a-z_]+$
Type: string
+ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
+ +
+
+
-
+
-
+

- +

-
+
Type: object
- No Additional Properties + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+
Type: string
- + parent_id
Type: string
+

The device id of the node's parent

+
@@ -9193,22 +8773,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

+ family
Type: string
+

The family designator, used only when the entry is not keyed in a family map

- +
+
Examples:
+
"ipv4"
+
+
"bacnet"
+
+
-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

-
+ network_id
Type: string
+

The network within the gateway device to use for this network

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - +
+
Examples:
+
"modbus_1"
+
+
"bacnet_1"
+
+
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

The family designator, used only when the entry is not keyed in a family map

+ proxy_ids
Type: array of string
+

An array of all the device IDs which are bound to the device

-
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
-
-
-
-
-
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

The network within the gateway device to use for this network

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
-
Examples:
-
"modbus_1"
-
-
"bacnet_1"
-
-
-
+
-
+

+
Example:
+
[
+    "AHU-22"
+]
+
-
+
+
+
+
+
-
+

- +

-
+
Type: array of string
-

An array of all the device IDs which are bound to the device

+ config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+ + No Additional Properties - No Additional Items

Each item of this array must be:

+ +
-
- +
+

+ +

+
+ +
+
Type: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + static_file
Type: string
+

Config file to use. Within the config directory in the device's metadata directory

+
-
-

-
Example:
-
[
-    "AHU-22"
-]
-
-
@@ -9617,18 +9174,18 @@

-
+
-
+

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
+ blocked
Type: boolean
- No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Config file to use. Within the config directory in the device's metadata directory

-
+ detail
Type: string
+ @@ -9732,22 +9282,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: boolean
+ password
Type: string
@@ -9790,18 +9336,18 @@

-
+
-
+

- +

-
+
Type: string
+ updated_time
Type: stringFormat: date-time
@@ -9844,18 +9390,18 @@

-
+
-
+

- +

-
+
Type: string
+ last_state_time
Type: stringFormat: date-time
@@ -9898,18 +9444,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+ last_config_time
Type: stringFormat: date-time
@@ -9952,18 +9498,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+ last_error_time
Type: stringFormat: date-time
@@ -10006,126 +9552,18 @@

-
+
-
+

- +

-
-
- - Type: stringFormat: date-time
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
+
Type: string
+ num_id
Type: string
@@ -10168,18 +9606,18 @@

-
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
+ operation

Model Operation

Type: enum (of string)
-
+

Must be one of:

  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
@@ -10227,18 +9665,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
+ metadata_str
Type: string

Strigified version of the metadata object, used for internal backend processing

@@ -10282,18 +9720,18 @@

-
+
-
+

- +

-
+
Type: object
+ device_ids
Type: object

If operating on the entire registry, then this contains results for multiple devices (batched operation).

@@ -10333,18 +9771,18 @@

-
+
-
+

- +

-
+

@@ -10366,28 +9804,28 @@

d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z" /> - devices + registries - Cloud Model + Cloud Model - device_ids + device_ids - ^[-._a-zA-Z0-9]+$

Type: object
+ ^[-._a-zA-Z0-9]+$
Type: object
@@ -10411,18 +9849,18 @@

-
+
-
+

- +

-
+
Type: object
-

Information about a specific point name of the device.

+ devices
Type: object
+

Device iot cloud models

No Additional Properties @@ -10448,23 +9886,23 @@

-
+
-
+

- +

-
+

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$

Point Pointset Model

Type: object
-

Information about a specific point name of the device.

+ Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

No Additional Properties @@ -10499,18 +9937,18 @@

-
+
-
+

- +

-
+
Type: string
-

Expected unit configuration for the point

+ functions_ver
Type: integer
+

Function version of this request

@@ -10554,18 +9992,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

Expected data type for the point

-
Type: enum (of string)
+

The key type used for cloud communication.

+

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
@@ -10612,18 +10050,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
-

Detailed description of this point

+ device_key
Type: boolean
+

Indicates if the device private key is provided in the site model.

@@ -10667,18 +10105,18 @@

-
+
-
+

- +

-
+
Type: boolean
-

Indicates if this point is writable (else read-only)

-
+ resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
@@ -10722,18 +10163,18 @@

-
+
-
+

- +

-
+
Type: object
-

Represents the expected baseline value of the point

+ gateway

Gateway Model

Type: object
+

Gateway Documentation

+ + No Additional Properties -
-
Example:
-
22
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: number
-

Maximum deviation from baseline_value

-
+ gateway + + + + gateway_id
Type: string
+

The device ID of the gateway the device is bound to

+
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ @@ -10833,25 +10275,25 @@


Example:
-
2
+
"GAT-100"
 

-
+
-
+

- +

-
+
Type: enum (of string)
-

Expected state when baseline_value is set as the set_value for this point the config message

-
-

Must be one of:

-
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
+ gateway + + + + target

Family Localnet Model

Type: object
+

The type of network

+
+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: number
-

Represents the lower bound of the error threshold for a point

+ gateway + + + + target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

@@ -10949,26 +10407,28 @@


-
Example:
-
0
+
Examples:
+
"192.168.1.3"
+
+
"41489"
 

-
+
-
+

- +

-
+
Type: number
-

Represents the upper bound of the error threshold for a point

-
- - - - - + gateway + + + + target + + + + network
Type: string
+

The network designator for this device in the family-defined format

+
+ + + + +
-
Example:
-
100
+
Examples:
+
"192.168.1.0/24"
+
+
"12732"
 
-
+
-
+

- +

-
+
Type: integer
-

Represents the limit in seconds that a point can be unchanged for

-
+ gateway + + + + target + + + + adjunct
Type: object
+ No Additional Properties -
-
Example:
-
3600
-
-
-
-
-
-
-
+ +
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: number
-

Triggering threshold for partial cov update publishing

-
+ gateway + + + + target + + + + adjunct + + + + ^[a-z_]+$
Type: string
+ -
-
Example:
-
1
-
+ +
+
+
-
+
-
+

- +

-
+
Type: string
-

Mapping for the point to an internal resource (e.g. BACnet object reference)

+ gateway + + + + target + + + + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

-
-
Examples:
-
"AI3"
-
-
"400070"
-
-
+
-
+
-
+

- +

-
+
Type: object
- No Additional Properties + gateway + + + + target + + + + parent_id
Type: string
+

The device id of the node's parent

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+
Type: string
- - - - - - - -
-
-
+ target + + + + family
Type: string
+

The family designator, used only when the entry is not keyed in a family map

+
+ + + + + +
+
Examples:
+
"ipv4"
+
+
"bacnet"
+
-
+
-
+

- +

-
+
Type: array
-

Tags assosciated with the point

-
- - - - - -

All items must be unique

No Additional Items

Each item of this array must be:

-
-
- - - Type: object
-Must match regular expression: ^[a-z0-9]+$ + network_id
Type: string
+

The network within the gateway device to use for this network

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - -
-

+
Examples:
-
[
-    "lighting"
-]
+
"modbus_1"
 
-
[
-    "energy",
-    "hvac"
-]
+
"bacnet_1"
 
-
+
+
+
+
+
-
+

- +

-
+
Type: object
-

Collection of family point information

-
No Additional Properties + gateway + + + + proxy_ids
Type: array of string
+

An array of all the device IDs which are bound to the device

+
- -
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
+
+

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

-
- - No Additional Properties + proxy_ids + + + + proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
+
+

+
Example:
+
[
+    "AHU-22"
+]
+
+
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+
+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: string
-

Friendly name for the reference, if known

+ static_file
Type: string
+

Config file to use. Within the config directory in the device's metadata directory

@@ -11684,18 +11175,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

-
+ blocked
Type: boolean
+ - No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+ Type: string
@@ -11810,24 +11337,22 @@

-

-
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

-
+ updated_time
Type: stringFormat: date-time
+ @@ -11885,18 +11395,18 @@

-
+
-
+

- +

-
+
Type: string
-

Family reference for structures

-
+ last_state_time
Type: stringFormat: date-time
+ @@ -11954,18 +11449,18 @@

-
+
-
+

- +

-
+
Type: string
-

Current or default type for this point

-
+ last_config_time
Type: stringFormat: date-time
+ @@ -12023,18 +11503,18 @@

-
+
-
+

- +

-
+
Type: boolean
-

Indicates if this point is writable or not

-
+ last_error_time
Type: stringFormat: date-time
+ @@ -12092,18 +11557,18 @@

-
+
-
+

- +

-
+
Type: string
-

Human-readable description of this point

-
+ num_id
Type: string
+ @@ -12161,18 +11611,18 @@

-
+
-
+

- +

-
+

Entry

Type: object
+ operation

Model Operation

Type: enum (of string)
- No Additional Properties +
+

Must be one of:

+
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
+
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

+ metadata_str
Type: string
+

Strigified version of the metadata object, used for internal backend processing

-
-
Example:
-
"Point is not writable"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+ device_ids
Type: object
+

If operating on the entire registry, then this contains results for multiple devices (batched operation).

@@ -12379,23 +11776,24 @@

-

-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-._a-zA-Z0-9]+$ +
Type: object
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
- - -

- -

-
- + points
Type: object
+

Information about a specific point name of the device.

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +

Point Pointset Model

Type: object
+

Information about a specific point name of the device.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.base\.start$ + units
Type: string
+

Expected unit configuration for the point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: enum (of string)
+

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.base\.shutdown$ + description
Type: string
+

Detailed description of this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: boolean
+

Indicates if this point is writable (else read-only)

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.base\.ready$ + baseline_value
Type: object
+

Represents the expected baseline value of the point

+
- -
- +
+
Example:
+
22
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: number
+

Maximum deviation from baseline_value

+
+ + + + + +
+
Example:
+
2
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.config\.receive$ + baseline_state
Type: enum (of string)
+

Expected state when baseline_value is set as the set_value for this point the config message

+
+

Must be one of:

+
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: number
+

Represents the lower bound of the error threshold for a point

+
+ + + + + +
+
Example:
+
0
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.config\.parse$ + range_max
Type: number
+

Represents the upper bound of the error threshold for a point

+
- -
- +
+
Example:
+
100
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: integer
+

Represents the limit in seconds that a point can be unchanged for

+
+ + + + + +
+
Example:
+
3600
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.config\.apply$ + cov_increment
Type: number
+

Triggering threshold for partial cov update publishing

+
- -
- +
+
Example:
+
1
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: string
+

Mapping for the point to an internal resource (e.g. BACnet object reference)

+
+ + + + + +
+
Examples:
+
"AI3"
+
+
"400070"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.auth\.login$ + adjunct
Type: object
+ No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: object
-Must match regular expression: ^system\.auth\.logout$ + ^[a-z_]+$
Type: string
+ -
- +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: array
+

Tags assosciated with the point

+
+ + + + + +

All items must be unique

No Additional Items

Each item of this array must be:

+
+
+ + + Type: object
-Must match regular expression: ^system\.auth\.fail$ + tags items
Type: object
+Must match regular expression: ^[a-z0-9]+$ -
- +
+

+
Examples:
+
[
+    "lighting"
+]
+
+
[
+    "energy",
+    "hvac"
+]
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
+

Collection of family point information

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +
+ + Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^pointset\.point\.applied$ - - - - - - -
- - - Type: string
+

Friendly name for the reference, if known

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^pointset\.point\.updating$ + possible_values
Type: array of string
+

List of possible enumerated values for the point

+
- -
+ No Additional Items

Each item of this array must be:

+
+
Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + possible_values items
Type: string
+ -
- +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.failure$ + units
Type: string
+

Current or default unit for this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + ref
Type: string
+

Family reference for structures

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: string
+

Current or default type for this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^localnet\.network$ - - - - - - -
- - - Type: boolean
+

Indicates if this point is writable or not

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^localnet\.network\.connect$ + description
Type: string
+

Human-readable description of this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.setup\.attach$ - - - - + status

Entry

Type: object
- -
- - Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.family\.scan$ + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ - - - - + category

Category

Type: string
- -
- - Type: object
-Must match regular expression: ^discovery\.point\.describe$ - - - - - - -
+

+ +

+
Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -14438,7 +14221,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -14513,7 +14296,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -14588,7 +14371,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ - + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ +
+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -14738,7 +14521,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -14813,7 +14596,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -14888,7 +14671,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -14963,7 +14746,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -15038,7 +14821,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -15113,7 +14896,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -15188,7 +14971,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -15263,7 +15046,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -15338,7 +15121,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^localnet\.network$ + + + + + + +
+ + +

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

-
- - - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
- Type: object
+Must match regular expression: ^localnet\.network\.connect$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+ Type: string
- + category + + + + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- + status + + + + category + + + + oneOf + + + + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ -
-
-
-

- -

-
- -
-
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + category + + + + oneOf + + + + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
-

Reference links to alternate families

-
No Additional Properties + category + + + + oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
+ oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ + -
-
+ + + + +
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ -
-
-
-
-
-
-
-

- -

-
+
+ -
-
+ Type: object
+Must match regular expression: ^blobset\.blob\.update$ + + + + + + +
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

+
+ + + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
+ + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ + + + + + + +
+
+
+

+ +

+
+ +
+
+ +

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Reference links to alternate families

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +
+
+
+
+
+

+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Collection of point references

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +
+ +

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Friendly name for the reference, if known

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+

List of possible enumerated values for the point

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Current or default unit for this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Family reference for structures

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Current or default type for this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: boolean
+

Indicates if this point is writable or not

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Human-readable description of this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + - -
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Collection of point references

-
No Additional Properties + oneOf + + + + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
+
+

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Friendly name for the reference, if known

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: array of string
-

List of possible enumerated values for the point

-
+ item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ - No Additional Items

Each item of this array must be:

-
-
+ +
Type: string
- + category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default unit for this point

-
+ oneOf + + + + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Family reference for structures

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Current or default type for this point

-
+ item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: boolean
-

Indicates if this point is writable or not

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Human-readable description of this point

-
+ item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
- - - - - -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
+ category + + + + oneOf + + + + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + -
-
+ + + + +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + +

Category

Type: string
- - -

- -

-
+ /> + + Ref Discovery + + + + status + + + + category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -17598,7 +20878,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -17659,7 +20939,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -17720,7 +21000,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -17781,7 +21061,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -17842,7 +21122,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -17903,7 +21183,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -17964,7 +21244,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -18025,7 +21305,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -18086,7 +21366,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -18147,7 +21427,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -18208,7 +21488,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -18269,7 +21549,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -18330,7 +21610,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -18391,7 +21671,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -18452,7 +21732,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -18513,7 +21793,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -18574,7 +21854,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -18635,7 +21915,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -18696,7 +21976,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -18757,7 +22037,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -18818,7 +22098,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -18879,7 +22159,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -18940,7 +22220,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -19001,7 +22281,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -19062,7 +22342,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -19123,7 +22403,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -19184,7 +22464,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -19245,7 +22525,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -19306,7 +22586,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -19367,7 +22647,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -19428,7 +22708,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -19489,7 +22769,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -19550,7 +22830,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -19611,7 +22891,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -19672,7 +22952,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -19733,7 +23013,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_discovery.html b/gencode/docs/events_discovery.html index ae6d12e5e7..e0336cc18c 100644 --- a/gencode/docs/events_discovery.html +++ b/gencode/docs/events_discovery.html @@ -474,6 +474,71 @@

id="status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_status_category_oneOf_i36" role="tab" onclick="setAnchor('#status_category_oneOf_i36')" >Option 37 +
@@ -1468,7 +1533,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -1508,7 +1573,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -1548,7 +1613,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -1588,7 +1653,7 @@

/> item 27

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -1628,7 +1693,7 @@

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -1668,7 +1733,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -1708,7 +1773,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -1748,7 +1813,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -1788,7 +1853,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -1828,7 +1893,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -1868,7 +1933,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1908,7 +1973,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -1948,37 +2013,16 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
- + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

The primary address of the device (for indicated family)

-
+ status + + + + category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
-

-
-
-
-

- -

-
- -
-
+
+ Type: string
-

The family network designator of the discovered device

-
+ status + + + + category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
-

The active or passive series number of this result (matches reported state values)

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Links to other address families (family and id)

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- -

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ - - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Registry iot cloud models

-
No Additional Properties + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
+
+

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
- - No Additional Properties + category + + + + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ -
-
-
-

- -

-
- -
-
+
+ Type: integer
-

Function version of this request

-
+ oneOf + + + + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: boolean
-

Indicates if the device private key is provided in the site model.

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Gateway Model

Type: object
-

Gateway Documentation

-
- - No Additional Properties + oneOf + + + + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

The device ID of the gateway the device is bound to

-
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
-
Example:
-
"GAT-100"
-
-
+ +
+ + + + + +
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

+ timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

- - No Additional Properties - -
+
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

The address of a device on the fieldbus/local network

+ level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1


-
Examples:
-
"192.168.1.3"
-
-
"41489"
+
Example:
+
600
 
-
+
+
+
+
+
-
+

- +

-
+
Type: object
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
-

The network designator for this device in the family-defined format

+ addr
Type: string
+

The primary address of the device (for indicated family)

-
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
+
-
+
-
+

- +

-
+
Type: string
+

The family network designator of the discovered device

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The active or passive series number of this result (matches reported state values)

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
- No Additional Properties + families
Type: object
+

Links to other address families (family and id)

+
No Additional Properties -
+
-
+

- +

-
+

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ + Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
- + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -3069,22 +2902,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -3135,20 +2950,63 @@

-
-
-
+
+
+
+
+
+
+
+
+
+
+

- +

-
+
+ Type: object
+

Registry iot cloud models

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
+

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
-

The device id of the node's parent

+ functions_ver
Type: integer
+

Function version of this request

@@ -3197,18 +3080,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
+

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
-

The family designator, used only when the entry is not keyed in a family map

+ Cloud Model + + + + device_key
Type: boolean
+

Indicates if the device private key is provided in the site model.

-
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

The network within the gateway device to use for this network

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
-
-
Examples:
-
"modbus_1"
-
-
"bacnet_1"
-
-
-
-
-
-
+
-
+
-
+

- +

-
+
Type: array of string
-

An array of all the device IDs which are bound to the device

+ gateway

Gateway Model

Type: object
+

Gateway Documentation

+ + No Additional Properties - No Additional Items

Each item of this array must be:

+ +
-
- +
+

+ +

+
+ +
+
Type: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + gateway_id
Type: string
+

The device ID of the gateway the device is bound to

+
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ - -
-

+
Example:
-
[
-    "AHU-22"
-]
+
"GAT-100"
 
-
-
-
-
-
+
-
+

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

+ gateway + + + + target

Family Localnet Model

Type: object
+

The type of network

No Additional Properties @@ -3497,18 +3388,18 @@

-
+
-
+

- +

-
+
Type: string
-

Config file to use. Within the config directory in the device's metadata directory

+ target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

- -
-
-
+
+
Examples:
+
"192.168.1.3"
+
+
"41489"
+

-
+
-
+

- +

-
+
Type: boolean
- + gateway + + + + target + + + + network
Type: string
+

The network designator for this device in the family-defined format

+
- +
+
Examples:
+
"192.168.1.0/24"
+
+
"12732"
+
+
-
+
-
+

- +

-
+
Type: string
- + gateway + + + + target + + + + adjunct
Type: object
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: string
+ gateway + + + + target + + + + adjunct + + + + ^[a-z_]+$
Type: string
@@ -3697,18 +3654,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: stringFormat: date-time
- + gateway + + + + target + + + + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

+
@@ -3744,18 +3720,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
- + parent_id
Type: string
+

The device id of the node's parent

+
@@ -3838,18 +3782,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + gateway + + + + target + + + + family
Type: string
+

The family designator, used only when the entry is not keyed in a family map

+
- +
+
Examples:
+
"ipv4"
+
+
"bacnet"
+
+
-
+
-
+

- +

-
+
Type: string
- + gateway + + + + target + + + + network_id
Type: string
+

The network within the gateway device to use for this network

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - +
+
Examples:
+
"modbus_1"
+
+
"bacnet_1"
+
+
-
+
+
+
+
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

-
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
-
+ gateway + + + + proxy_ids
Type: array of string
+

An array of all the device IDs which are bound to the device

+
- -
-
-
-
-
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

Strigified version of the metadata object, used for internal backend processing

-
+ gateway + + + + proxy_ids + + + + proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
+

+
Example:
+
[
+    "AHU-22"
+]
+
+
-
+
+
+
+
+
-
+

- +

-
+
Type: object
-

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+ config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+ + No Additional Properties -
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-._a-zA-Z0-9]+$ -
+
+
Type: object
- + static_file
Type: string
+

Config file to use. Within the config directory in the device's metadata directory

+
@@ -4139,26 +4141,18 @@

-
-
-
-
-
-
-
-
-
+
-
+

- +

-
+
Type: object
-

Device iot cloud models

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
- -

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
+ blocked
Type: boolean
- No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: integer
-

Function version of this request

-
+ detail
Type: string
+ @@ -4269,18 +4235,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ password
Type: string
+ @@ -4320,18 +4282,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: boolean
-

Indicates if the device private key is provided in the site model.

-
+ updated_time
Type: stringFormat: date-time
+ @@ -4368,18 +4329,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ last_state_time
Type: stringFormat: date-time
+ @@ -4419,18 +4376,18 @@

Must be one of:

-
+
-
+

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

-
+ last_config_time
Type: stringFormat: date-time
- No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: string
-

The device ID of the gateway the device is bound to

-
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + last_error_time
Type: stringFormat: date-time
+ -
-
Example:
-
"GAT-100"
-
-
+
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

-
+ num_id
Type: string
- No Additional Properties -
-
-
-

- +

+
+
+
+
+
+
+

+

-
+
Type: string
-

The address of a device on the fieldbus/local network

-
+ operation

Model Operation

Type: enum (of string)
+ + +
+

Must be one of:

+
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
+
-
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

The network designator for this device in the family-defined format

+ metadata_str
Type: string
+

Strigified version of the metadata object, used for internal backend processing

-
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
+
-
+
-
+

- +

-
+
Type: object
- No Additional Properties + device_ids
Type: object
+

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+
-
+
-
+

- +

-
+

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ + Property name regular expression: ^[-._a-zA-Z0-9]+$
Type: string
+ ^[-._a-zA-Z0-9]+$
Type: object
@@ -4847,18 +4724,26 @@

-
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ devices
Type: object
+

Device iot cloud models

+
No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
Type: string
-

The device id of the node's parent

+ Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: string
-

The family designator, used only when the entry is not keyed in a family map

+ functions_ver
Type: integer
+

Function version of this request

-
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

The network within the gateway device to use for this network

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + auth_type
Type: enum (of string)
+

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
-
-
Examples:
-
"modbus_1"
-
-
"bacnet_1"
-
-
-
-
-
-
+
-
+
-
+

- +

-
+
Type: array of string
-

An array of all the device IDs which are bound to the device

+ device_key
Type: boolean
+

Indicates if the device private key is provided in the site model.

- No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
-
-

-
Example:
-
[
-    "AHU-22"
-]
-
-
-
-
-
-
-
+
-
+

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

+ gateway

Gateway Model

Type: object
+

Gateway Documentation

No Additional Properties @@ -5271,18 +5050,18 @@

-
+
-
+

- +

-
+
Type: string
-

Config file to use. Within the config directory in the device's metadata directory

-
+ gateway_id
Type: string
+

The device ID of the gateway the device is bound to

+
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ - -
-
-
+
+
Example:
+
"GAT-100"
+

-
+
-
+

- +

-
+
Type: boolean
+ gateway + + + + target

Family Localnet Model

Type: object
+

The type of network

+
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: string
- + gateway + + + + target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

+
- +
+
Examples:
+
"192.168.1.3"
+
+
"41489"
+
+
-
+
-
+

- +

-
+
Type: string
- + gateway + + + + target + + + + network
Type: string
+

The network designator for this device in the family-defined format

+
- +
+
Examples:
+
"192.168.1.0/24"
+
+
"12732"
+
+
-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + gateway + + + + target + + + + adjunct
Type: object
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: stringFormat: date-time
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
+ ^[a-z_]+$
Type: string
@@ -5612,18 +5428,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: stringFormat: date-time
- + gateway + + + + target + + + + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

+
@@ -5659,18 +5494,18 @@

-
+
-
+

- +

-
+
Type: string
- - - - - - - -
-
-
-
-
+ gateway + + + + target + + + + parent_id
Type: string
+

The device id of the node's parent

+
+ + + + + + +
+
+
+
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

-
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
-
+ gateway + + + + target + + + + family
Type: string
+

The family designator, used only when the entry is not keyed in a family map

+
- +
+
Examples:
+
"ipv4"
+
+
"bacnet"
+
+
-
+
-
+

- +

-
+
Type: string
-

Strigified version of the metadata object, used for internal backend processing

-
+ gateway + + + + target + + + + network_id
Type: string
+

The network within the gateway device to use for this network

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - +
+
Examples:
+
"modbus_1"
+
+
"bacnet_1"
+
+
-
+
+
+
+
+
-
+

- +

-
+
Type: object
-

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+ gateway + + + + proxy_ids
Type: array of string
+

An array of all the device IDs which are bound to the device

- -
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-._a-zA-Z0-9]+$ -
+
+ Type: object
- + proxy_ids + + + + proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
-
-
-
-
-
+

+
Example:
+
[
+    "AHU-22"
+]
+
@@ -5921,18 +5810,18 @@

-
+
-
+

- +

-
+
Type: object
-

Information about a specific point name of the device.

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- -

Point Pointset Model

Type: object
-

Information about a specific point name of the device.

+ config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

No Additional Properties @@ -5995,18 +5856,18 @@

-
+
-
+

- +

-
+
Type: string
-

Expected unit configuration for the point

+ config + + + + static_file
Type: string
+

Config file to use. Within the config directory in the device's metadata directory

@@ -6043,18 +5911,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: enum (of string)
-

Expected data type for the point

-
-

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
-
+ blocked
Type: boolean
+ @@ -6094,18 +5962,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
-

Detailed description of this point

-
+ detail
Type: string
+ @@ -6142,18 +6009,18 @@

-
+
-
+

- +

-
+
Type: boolean
-

Indicates if this point is writable (else read-only)

-
+ password
Type: string
+ @@ -6190,18 +6056,18 @@

-
+
-
+

- +

-
+
Type: object
-

Represents the expected baseline value of the point

-
+ updated_time
Type: stringFormat: date-time
+ -
-
Example:
-
22
-
-
+
-
+
-
+

- +

-
+
Type: number
-

Maximum deviation from baseline_value

-
+ last_state_time
Type: stringFormat: date-time
+ -
-
Example:
-
2
-
-
+
-
+
-
+

- +

-
+
Type: enum (of string)
-

Expected state when baseline_value is set as the set_value for this point the config message

-
-

Must be one of:

-
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
+ last_config_time
Type: stringFormat: date-time
+ @@ -6345,18 +6197,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: number
-

Represents the lower bound of the error threshold for a point

-
+ last_error_time
Type: stringFormat: date-time
+ -
-
Example:
-
0
-
-
+
-
+
-
+

- +

-
+
Type: number
-

Represents the upper bound of the error threshold for a point

-
+ num_id
Type: string
+ -
-
Example:
-
100
-
-
+
-
+
-
+

- +

-
+
Type: integer
-

Represents the limit in seconds that a point can be unchanged for

-
- + operation

Model Operation

Type: enum (of string)
- - -
-
Example:
-
3600
-
-
+
+

Must be one of:

+
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: number
-

Triggering threshold for partial cov update publishing

-
-
-
Example:
-
1
-
-
+
-
+
-
+

- +

-
+
Type: string
-

Mapping for the point to an internal resource (e.g. BACnet object reference)

+ metadata_str
Type: string
+

Strigified version of the metadata object, used for internal backend processing

-
-
Examples:
-
"AI3"
-
-
"400070"
-
-
+
-
+
-
+

- +

-
+
Type: object
- No Additional Properties + device_ids
Type: object
+

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+
-
+
-
+

- +

-
+

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ + Property name regular expression: ^[-._a-zA-Z0-9]+$
Type: string
+ ^[-._a-zA-Z0-9]+$
Type: object
@@ -6713,18 +6498,26 @@

-
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
Type: object
+

Information about a specific point name of the device.

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: array
-

Tags assosciated with the point

+ Point Pointset Model

Point Pointset Model

Type: object
+

Information about a specific point name of the device.

+ + No Additional Properties -

All items must be unique

No Additional Items

Each item of this array must be:

+ +
-
- +
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^[a-z0-9]+$ + units
Type: string
+

Expected unit configuration for the point

+
-
-

-
Examples:
-
[
-    "lighting"
-]
-
-
[
-    "energy",
-    "hvac"
-]
-
-
-
+
-
+

- +

-
+
Type: object
-

Collection of family point information

-
No Additional Properties + type
Type: enum (of string)
+

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
+
+

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

+ description
Type: string
+

Detailed description of this point

- - No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + writable
Type: boolean
+

Indicates if this point is writable (else read-only)

+
@@ -6978,18 +6775,18 @@

-
+
-
+

- +

-
+
Type: string
-

Friendly name for the reference, if known

+ baseline_value
Type: object
+

Represents the expected baseline value of the point

- +
+
Example:
+
22
+
+
-
+
-
+

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

+ baseline_tolerance
Type: number
+

Maximum deviation from baseline_value

- No Additional Items

Each item of this array must be:

+
+
Example:
+
2
+
+
+
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
- + baseline_state
Type: enum (of string)
+

Expected state when baseline_value is set as the set_value for this point the config message

+
+

Must be one of:

+
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
+
-
-
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

+ range_min
Type: number
+

Represents the lower bound of the error threshold for a point

- +
+
Example:
+
0
+
+
-
+
-
+

- +

-
+
Type: string
-

Family reference for structures

+ range_max
Type: number
+

Represents the upper bound of the error threshold for a point

- +
+
Example:
+
100
+
+
-
+
-
+

- +

-
+
Type: string
-

Current or default type for this point

+ unchanged_limit_sec
Type: integer
+

Represents the limit in seconds that a point can be unchanged for

- +
+
Example:
+
3600
+
+
-
+
-
+

- +

-
+
Type: boolean
-

Indicates if this point is writable or not

+ cov_increment
Type: number
+

Triggering threshold for partial cov update publishing

- +
+
Example:
+
1
+
+
-
+
-
+

- +

-
+
Type: string
-

Human-readable description of this point

+ ref
Type: string
+

Mapping for the point to an internal resource (e.g. BACnet object reference)

- +
+
Examples:
+
"AI3"
+
+
"400070"
+
+
-
+
-
+

- +

-
+

Entry

Type: object
- - - No Additional Properties + adjunct
Type: object
+ No Additional Properties -
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: string
-

A human-readable one-line description of the entry

-
+ ^[a-z_]+$
Type: string
+ -
-
Example:
-
"Point is not writable"
-
+ +
+
+
-
+
-
+

- +

-
+
Type: array
+

Tags assosciated with the point

+
+ + + + + +

All items must be unique

No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ tags + + + + tags items
Type: object
+Must match regular expression: ^[a-z0-9]+$ +
+

+
Examples:
+
[
+    "lighting"
+]
+
+
[
+    "energy",
+    "hvac"
+]
+
+
-
+
-
+

- +

-
+
+
+ + Type: object
+

Collection of family point information

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +
+ +

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ points + + + + Point Pointset Model + + + + structure + + + + Ref Discovery + + + + name
Type: string
+

Friendly name for the reference, if known

+
+ + + - +
+
+
+
+

+ +

+
+ +
+
Type: array of string
+

List of possible enumerated values for the point

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: object
-Must match regular expression: ^system\.base\.start$ - - - - - - -
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.base\.shutdown$ + units
Type: string
+

Current or default unit for this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.ready$ + ref
Type: string
+

Family reference for structures

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.receive$ + type
Type: string
+

Current or default type for this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.parse$ + writable
Type: boolean
+

Indicates if this point is writable or not

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: string
+

Human-readable description of this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^system\.config\.apply$ + structure + + + + Ref Discovery + + + + status

Entry

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.login$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.logout$ - - - - - - -
- - - Type: object
-Must match regular expression: ^system\.auth\.fail$ - - - - - - -
- - - Type: object
-Must match regular expression: ^pointset\.point\.nominal$ - - - + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- - - Type: object
-Must match regular expression: ^pointset\.point\.applied$ - +
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^pointset\.point\.updating$ - + category

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -8801,7 +8635,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -8869,7 +8703,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -8937,7 +8771,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -9005,7 +8839,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -9073,7 +8907,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -9141,7 +8975,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -9209,7 +9043,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -9277,7 +9111,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -9345,7 +9179,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -9413,7 +9247,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -9481,7 +9315,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -9549,7 +9383,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -9617,7 +9451,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -9685,7 +9519,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -9753,7 +9587,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -9821,7 +9655,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -9889,7 +9723,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -9957,7 +9791,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -10025,7 +9859,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -10093,7 +9927,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -10161,7 +9995,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -10229,7 +10063,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -10297,7 +10131,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -10365,7 +10199,7 @@

+ id="tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 24
Type: object
+Must match regular expression: ^blobset\.blob$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ category + + + + oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
+ -
-
+ +
+

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

-
- - - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+ Type: string
- + category + + + + oneOf + + + + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- + status + + + + category + + + + oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ -
-
-
-

- -

-
- -
-
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + category + + + + oneOf + + + + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
-

Reference links to alternate families

-
No Additional Properties + category + + + + oneOf + + + + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
+ oneOf + + + + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ -
-
-
-
-
-
-
-

- -

-
+
+ -
-
+ Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

+
+ + + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
+ + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ + + + + + + +
+
+
+

+ +

+
+ +
+
+ +

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Reference links to alternate families

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Collection of point references

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +
+ +

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Friendly name for the reference, if known

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+

List of possible enumerated values for the point

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Current or default unit for this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Family reference for structures

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Current or default type for this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: boolean
+

Indicates if this point is writable or not

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Human-readable description of this point

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Collection of point references

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
- -

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

-
- - No Additional Properties + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Friendly name for the reference, if known

-
+ item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array of string
-

List of possible enumerated values for the point

-
- - - - - - No Additional Items

Each item of this array must be:

-
-
- - - Type: string
- + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default unit for this point

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Family reference for structures

-
+ item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default type for this point

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: boolean
-

Indicates if this point is writable or not

-
+ item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Human-readable description of this point

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Entry

Type: object
- - - No Additional Properties + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + -

- -

-
+ +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -12408,7 +14655,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -12462,7 +14709,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -12516,7 +14763,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -12570,7 +14817,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -12624,7 +14871,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -12678,7 +14925,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -12732,7 +14979,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -12786,7 +15033,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -12840,7 +15087,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -12894,7 +15141,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -12948,7 +15195,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -13002,7 +15249,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -13056,7 +15303,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -13110,7 +15357,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -13164,7 +15411,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13218,7 +15465,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -13272,7 +15519,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -13326,7 +15573,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -13380,7 +15627,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -13434,7 +15681,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -13488,7 +15735,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -13542,7 +15789,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -13596,7 +15843,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -13650,7 +15897,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -13704,7 +15951,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -13758,7 +16005,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -13812,7 +16059,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -13866,7 +16113,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -13920,7 +16167,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -13974,7 +16221,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -14028,7 +16275,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -14082,7 +16329,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -14136,7 +16383,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -14190,7 +16437,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -14244,7 +16491,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -14298,7 +16545,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_mapping.html b/gencode/docs/events_mapping.html index eeb4691f47..5d9e909be6 100644 --- a/gencode/docs/events_mapping.html +++ b/gencode/docs/events_mapping.html @@ -436,6 +436,71 @@

id="status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_status_category_oneOf_i36" role="tab" onclick="setAnchor('#status_category_oneOf_i36')" >Option 37 +
@@ -1430,7 +1495,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -1470,7 +1535,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -1510,7 +1575,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -1550,7 +1615,7 @@

/> item 27

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -1590,7 +1655,7 @@

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -1630,7 +1695,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -1670,7 +1735,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -1710,7 +1775,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -1750,7 +1815,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -1790,7 +1855,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -1830,7 +1895,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1870,7 +1935,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -1910,7 +1975,527 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_system.html b/gencode/docs/events_system.html index 6f6a3c2964..adcb76f6ca 100644 --- a/gencode/docs/events_system.html +++ b/gencode/docs/events_system.html @@ -555,6 +555,71 @@

id="logentries_items_category_oneOf_i36" data-toggle="tab" href="#tab-pane_logentries_items_category_oneOf_i36" role="tab" onclick="setAnchor('#logentries_items_category_oneOf_i36')" >Option 37 +
@@ -1724,7 +1789,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -1771,7 +1836,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -1818,7 +1883,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -1865,7 +1930,7 @@

/> item 27

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -1912,7 +1977,7 @@

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -1959,7 +2024,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -2006,7 +2071,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -2053,7 +2118,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2100,7 +2165,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2147,7 +2212,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2194,7 +2259,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2241,7 +2306,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -2288,7 +2353,618 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_udmi.html b/gencode/docs/events_udmi.html index 9051ebca31..12372e81c0 100644 --- a/gencode/docs/events_udmi.html +++ b/gencode/docs/events_udmi.html @@ -483,6 +483,71 @@

id="logentries_items_category_oneOf_i36" data-toggle="tab" href="#tab-pane_logentries_items_category_oneOf_i36" role="tab" onclick="setAnchor('#logentries_items_category_oneOf_i36')" >Option 37 +
@@ -1652,7 +1717,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -1699,7 +1764,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -1746,7 +1811,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -1793,7 +1858,7 @@

/> item 27

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -1840,7 +1905,7 @@

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -1887,7 +1952,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -1934,7 +1999,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -1981,7 +2046,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2028,7 +2093,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2075,7 +2140,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2122,7 +2187,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2169,7 +2234,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -2216,7 +2281,618 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_validation.html b/gencode/docs/events_validation.html index 2af01eb25f..29848d8594 100644 --- a/gencode/docs/events_validation.html +++ b/gencode/docs/events_validation.html @@ -504,6 +504,71 @@

id="status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_status_category_oneOf_i36" role="tab" onclick="setAnchor('#status_category_oneOf_i36')" >Option 37 +
@@ -1498,7 +1563,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -1538,7 +1603,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -1578,7 +1643,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -1618,7 +1683,7 @@

/> item 27

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -1658,7 +1723,7 @@

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -1698,7 +1763,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -1738,7 +1803,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -1778,7 +1843,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -1818,7 +1883,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -1858,7 +1923,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -1898,7 +1963,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1938,7 +2003,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -1978,37 +2043,16 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- -

Pointset Summary

Type: object
-

Errors specific to pointset handling

-
No Additional Properties + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
-

- -

-
- -
-
+
+ Type: array of string
-

Missing points discovered while validating a device

-
+ category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ - No Additional Items

Each item of this array must be:

-
-
+ +
Type: string
- + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array of string
-

Extra points discovered while validating a device

-
+ category + + + + oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ - No Additional Items

Each item of this array must be:

-
-
+ +
Type: string
- + oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array
-

List of errors encountered while validating a device

-
+ status + + + + category + + + + oneOf + + + + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ - No Additional Items

Each item of this array must be:

-
-
+ +

Entry

Type: object
- + category + + + + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

A human-readable one-line description of the entry

-
+ oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ oneOf + + + + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
-
-

- -

-
+
+ -
-
+ Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+

Category

Type: string
+ oneOf + + + + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + -

- -

+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Pointset Summary

Type: object
+

Errors specific to pointset handling

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+

Missing points discovered while validating a device

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+

Extra points discovered while validating a device

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array
+

List of errors encountered while validating a device

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

@@ -2699,8 +3349,525 @@

d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z" /> - item 0

Type: object
-Must match regular expression: ^system\.base\.start$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -2708,7 +3875,7 @@

+ id="tab-pane_errors_items_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -2755,7 +3922,7 @@

+ id="tab-pane_errors_items_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -2802,7 +3969,7 @@

+ id="tab-pane_errors_items_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -2849,7 +4016,7 @@

+ id="tab-pane_errors_items_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -2896,7 +4063,7 @@

+ id="tab-pane_errors_items_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -2943,7 +4110,7 @@

+ id="tab-pane_errors_items_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -2990,7 +4157,7 @@

+ id="tab-pane_errors_items_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -3037,7 +4204,7 @@

+ id="tab-pane_errors_items_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -3084,7 +4251,7 @@

+ id="tab-pane_errors_items_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -3131,7 +4298,7 @@

+ id="tab-pane_errors_items_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -3178,7 +4345,7 @@

+ id="tab-pane_errors_items_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -3225,7 +4392,7 @@

+ id="tab-pane_errors_items_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -3272,7 +4439,7 @@

+ id="tab-pane_errors_items_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -3319,7 +4486,7 @@

+ id="tab-pane_errors_items_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -3366,7 +4533,7 @@

+ id="tab-pane_errors_items_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -3413,7 +4580,7 @@

+ id="tab-pane_errors_items_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -3460,7 +4627,7 @@

+ id="tab-pane_errors_items_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -3507,7 +4674,7 @@

+ id="tab-pane_errors_items_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -3554,7 +4721,7 @@

+ id="tab-pane_errors_items_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -3601,7 +4768,7 @@

+ id="tab-pane_errors_items_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -3648,7 +4815,7 @@

+ id="tab-pane_errors_items_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -3695,7 +4862,7 @@

+ id="tab-pane_errors_items_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -3742,7 +4909,7 @@

+ id="tab-pane_errors_items_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -3789,7 +4956,7 @@

+ id="tab-pane_errors_items_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -3836,7 +5003,7 @@

+ id="tab-pane_errors_items_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -3883,7 +5050,7 @@

+ id="tab-pane_errors_items_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -3930,7 +5097,7 @@

+ id="tab-pane_errors_items_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -3977,7 +5144,7 @@

+ id="tab-pane_errors_items_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -4024,7 +5191,7 @@

+ id="tab-pane_errors_items_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -4071,7 +5238,7 @@

+ id="tab-pane_errors_items_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -4118,7 +5285,7 @@

+ id="tab-pane_errors_items_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -4165,7 +5332,7 @@

+ id="tab-pane_errors_items_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -4212,7 +5379,7 @@

+ id="tab-pane_errors_items_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -4259,7 +5426,7 @@

+ id="tab-pane_errors_items_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -4306,7 +5473,7 @@

+ id="tab-pane_errors_items_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -4353,7 +5520,7 @@

+ id="tab-pane_errors_items_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/metadata.html b/gencode/docs/metadata.html index 6acb6da076..e900c18ed1 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -6776,6 +6776,320 @@

+

+
+
+
+
+
+ + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Blob Update Testing Model

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Blob name for the payload

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

URL for OTA update

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

SHA256 hash of the payload

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Expected software version

+
+ + + + + +
@@ -9186,6 +9500,71 @@

id="alarmset_alarms_pattern1_structure_pattern1_status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_alarmset_alarms_pattern1_structure_pattern1_status_category_oneOf_i36" role="tab" onclick="setAnchor('#alarmset_alarms_pattern1_structure_pattern1_status_category_oneOf_i36')" >Option 37 +
@@ -11055,7 +11434,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -11130,7 +11509,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -11205,7 +11584,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -11280,7 +11659,7 @@

/> item 27

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -11355,7 +11734,7 @@

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -11430,7 +11809,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -11505,7 +11884,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -11580,7 +11959,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -11655,7 +12034,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -11730,7 +12109,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -11805,7 +12184,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -11880,7 +12259,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -11955,37 +12334,16 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ - - - - - - - - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ category + + + + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
- - - - - -
-
-
-

- -

-
+ -
-
+ +
+

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

-
- - + status + + + + category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties + status + + + + category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+ Type: string
- + category + + + + oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
-
- - -
-
-
-

- -

-
- -
-
+
+ Type: object
- + status + + + + category + + + + oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-

- -

-
- -
-
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + category + + + + oneOf + + + + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + oneOf + + + + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
-

Reference links to alternate families

-
No Additional Properties + category + + + + oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + oneOf + + + + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
@@ -13002,46 +13327,18 @@

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-

- -

+
+
+
+

+ +

-
+
Type: boolean
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: boolean
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: integer
-

Minimum time between sample updates for the device (including complete and COV updates). Updates more frequent than this should be coalesced into one update.

+ status + + + + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-

Value must be greater or equal to 0 and lesser or equal to 86400

- + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
-
+
-
+

- +

-
+
Type: integer
-

Maximum time between samples for the device to send out a complete update. It can send out updates more frequently than this. Default to 600.

+ alarms + + + + Alarm Alarmset Model + + + + structure + + + + Ref Discovery + + + + status + + + + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-

Value must be greater or equal to 1 and lesser or equal to 86400

+

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- +
+
Example:
+
600
+
+
@@ -13196,18 +13491,18 @@

-
+
-
+

- +

-
+

Pointset Model

Type: object
-

Pointset representing the abstract system expectation for what the device should be doing, and how it should be configured and operated. This block specifies the expected points that a device holds

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: object
-

Information about a specific point name of the device.

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- -

Point Pointset Model

Type: object
-

Information about a specific point name of the device.

+ ancillary

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

- No Additional Properties + -
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Expected unit configuration for the point

-
+ structure + + + + Ref Discovery + + + + adjunct
Type: object
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: enum (of string)
-

Expected data type for the point

-
-

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Detailed description of this point

-
+ ^[a-z_]+$
Type: string
+ @@ -13484,18 +13706,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: boolean
-

Indicates if this point is writable (else read-only)

-
+ structure + + + + Ref Discovery + + + + structure
Type: object
+ -
-
-
-
-
+
-
+

- +

-
+
Type: object
-

Represents the expected baseline value of the point

+ structure + + + + Ref Discovery + + + + structure + + + + point

Family Discovery

Type: object
+

Discovery information for a protocol family.

+ + No Additional Properties -
-
Example:
-
22
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: number
-

Maximum deviation from baseline_value

-
- - - - - -
-
Example:
-
2
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: enum (of string)
-

Expected state when baseline_value is set as the set_value for this point the config message

-
-

Must be one of:

-
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
+ addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -13715,18 +13931,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: number
-

Represents the lower bound of the error threshold for a point

-
- - - - - -
-
Example:
-
0
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: number
-

Represents the upper bound of the error threshold for a point

-
+ ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
-
Example:
-
100
-
+ +
+
+
-
+
-
+

- +

-
+
Type: integer
-

Represents the limit in seconds that a point can be unchanged for

-
+ structure + + + + Ref Discovery + + + + structure + + + + families
Type: object
+

Reference links to alternate families

+
No Additional Properties -
-
Example:
-
3600
-
-
-
-
-
-
-
+ +
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
Type: number
-

Triggering threshold for partial cov update publishing

-
- - - - - -
-
Example:
-
1
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Mapping for the point to an internal resource (e.g. BACnet object reference)

+ Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

+ + No Additional Properties -
-
Examples:
-
"AI3"
-
-
"400070"
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
- - Type: string
- + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -14128,22 +14266,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: array
-

Tags assosciated with the point

-
- - - - - -

All items must be unique

No Additional Items

Each item of this array must be:

-
-
- - - Type: object
-Must match regular expression: ^[a-z0-9]+$ + ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ +
-

-
Examples:
-
[
-    "lighting"
-]
-
-
[
-    "energy",
-    "hvac"
-]
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
Type: object
-

Collection of family point information

-
No Additional Properties + exclude_units_from_config
Type: boolean
+ -
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
+
+
Type: boolean
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

+ sample_limit_sec
Type: integer
+

Minimum time between sample updates for the device (including complete and COV updates). Updates more frequent than this should be coalesced into one update.

- - No Additional Properties - +

Value must be greater or equal to 0 and lesser or equal to 86400

-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + sample_rate_sec
Type: integer
+

Maximum time between samples for the device to send out a complete update. It can send out updates more frequently than this. Default to 600.

+
- +

Value must be greater or equal to 1 and lesser or equal to 86400

-
+
+
+
+
+
-
+

- +

-
+

Pointset Model

Type: object
+

Pointset representing the abstract system expectation for what the device should be doing, and how it should be configured and operated. This block specifies the expected points that a device holds

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Information about a specific point name of the device.

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: string
-

Friendly name for the reference, if known

+ Point Pointset Model

Point Pointset Model

Type: object
+

Information about a specific point name of the device.

+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

+ units
Type: string
+

Expected unit configuration for the point

- No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
- + type
Type: enum (of string)
+

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
-
-
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

+ description
Type: string
+

Detailed description of this point

@@ -14702,18 +14838,18 @@

-
+
-
+

- +

-
+
Type: string
-

Family reference for structures

+ writable
Type: boolean
+

Indicates if this point is writable (else read-only)

@@ -14771,18 +14893,18 @@

-
+
-
+

- +

-
+
Type: string
-

Current or default type for this point

+ baseline_value
Type: object
+

Represents the expected baseline value of the point

- +
+
Example:
+
22
+
+
-
+
-
+

- +

-
+
Type: boolean
-

Indicates if this point is writable or not

+ baseline_tolerance
Type: number
+

Maximum deviation from baseline_value

- +
+
Example:
+
2
+
+
-
+
-
+

- +

-
+
Type: string
-

Human-readable description of this point

-
+ baseline_state
Type: enum (of string)
+

Expected state when baseline_value is set as the set_value for this point the config message

+
+

Must be one of:

+
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
+
@@ -14978,18 +15069,18 @@

-
+
-
+

- +

-
+

Entry

Type: object
- - - No Additional Properties + range_min
Type: number
+

Represents the lower bound of the error threshold for a point

+
- -
+
+
Example:
+
0
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

+ range_max
Type: number
+

Represents the upper bound of the error threshold for a point

@@ -15117,25 +15180,25 @@


Example:
-
"Point is not writable"
+
100
 

-
+
-
+

- +

-
+
Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+ unchanged_limit_sec
Type: integer
+

Represents the limit in seconds that a point can be unchanged for

- +
+
Example:
+
3600
+
+
-
+
-
+

- +

-
+
Type: number
+

Triggering threshold for partial cov update publishing

+
+ + + + + +
+
Example:
+
1
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ Point Pointset Model + + + + ref
Type: string
+

Mapping for the point to an internal resource (e.g. BACnet object reference)

+
+ + + -

- -

-
- +
+
Examples:
+
"AI3"
+
+
"400070"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
+ + Type: object
-Must match regular expression: ^system\.base\.start$ + ^[a-z_]+$
Type: string
+ -
- +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: array
+

Tags assosciated with the point

+
+ + + + + +

All items must be unique

No Additional Items

Each item of this array must be:

+
+
+ + + Type: object
-Must match regular expression: ^system\.base\.shutdown$ + tags items
Type: object
+Must match regular expression: ^[a-z0-9]+$ -
- +
+

+
Examples:
+
[
+    "lighting"
+]
+
+
[
+    "energy",
+    "hvac"
+]
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
+

Collection of family point information

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +
+ + Type: object
-Must match regular expression: ^system\.base\.ready$ + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.receive$ + point
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.parse$ + name
Type: string
+

Friendly name for the reference, if known

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.apply$ + possible_values
Type: array of string
+

List of possible enumerated values for the point

+
- -
+ No Additional Items

Each item of this array must be:

+
+
Type: object
-Must match regular expression: ^system\.auth\.login$ + possible_values items
Type: string
+ -
- +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.logout$ + units
Type: string
+

Current or default unit for this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.fail$ + ref
Type: string
+

Family reference for structures

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + type
Type: string
+

Current or default type for this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.applied$ + writable
Type: boolean
+

Indicates if this point is writable or not

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.updating$ + description
Type: string
+

Human-readable description of this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + status

Entry

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.failure$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+

Category

Type: string
+ + +

+ +

+
+ + + Type: object
-Must match regular expression: ^localnet\.network$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -16655,7 +16949,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -16730,7 +17024,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.overridden$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.setup\.attach$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.target$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.family\.scan$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.point\.describe$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^mapping\.device\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.update$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

+
+ + + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
+ + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ + + + + + + +
+
+
+

+ +

+
+ +
+
+ +

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Reference links to alternate families

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: boolean
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: boolean
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

Minimum time between sample updates for the device (including complete and COV updates). Updates more frequent than this should be coalesced into one update.

+
+ + + +

Value must be greater or equal to 0 and lesser or equal to 86400

+ + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

Maximum time between samples for the device to send out a complete update. It can send out updates more frequently than this. Default to 600.

+
+ + + +

Value must be greater or equal to 1 and lesser or equal to 86400

+ + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Discovery Events

Type: object
+

Discovery result with implicit discovery

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

RFC 3339 UTC timestamp the discover telemetry event was generated

+
+ + + + + +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Version of the UDMI schema

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

The event's discovery scan trigger's generation timestamp

+
+ + + + + +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -16805,7 +22815,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^gateway\.proxy\.target$ - - - - - - -
- - - Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -16955,7 +22977,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^discovery\.family\.scan$ - - - - - - -
- - - Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -17105,7 +23139,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^discovery\.point\.describe$ - - - - - - -
- - - Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -17255,7 +23301,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
+Must match regular expression: ^pointset\.point\.failure$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^blobset\.blob\.receive$ - - - - - - -
- - - Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -17405,7 +23463,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
+Must match regular expression: ^localnet\.network\.connect$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^blobset\.blob\.apply$ - - - - - - -
- - - Type: object
+Must match regular expression: ^gateway\.setup\.attach$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -17555,7 +23625,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.schema$ - - - - - - -
- - - Type: object
+Must match regular expression: ^discovery\.family\.scan$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.content$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -17705,7 +23787,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
+Must match regular expression: ^discovery\.point\.describe$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.multiple$ - - - - - - -
- - - Type: object
+Must match regular expression: ^mapping\.device\.apply$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -17855,7 +23949,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -17930,7 +24003,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.feature\.sequence$ - - - - - - -
- - - Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -18080,7 +24165,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
+Must match regular expression: ^blobset\.blob\.parse$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
+ -
-
+ +
+

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

-
- - + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+ Type: string
- + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
-
-

- -

-
- -
-
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ - - - - - - -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
-

Reference links to alternate families

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- - Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + +

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + oneOf + + + + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-

- -

-
- -
-
+
+ Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - -
-
-
-

- -

-
- -
-
- - Type: boolean
- + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: boolean
- + Discovery Events + + + + status + + + + category + + + + oneOf + + + + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: integer
-

Minimum time between sample updates for the device (including complete and COV updates). Updates more frequent than this should be coalesced into one update.

-
- - - -

Value must be greater or equal to 0 and lesser or equal to 86400

- - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: integer
-

Maximum time between samples for the device to send out a complete update. It can send out updates more frequently than this. Default to 600.

-
- - - -

Value must be greater or equal to 1 and lesser or equal to 86400

- - -
-
-
-
- - - - -
-
-
-

- -

-
- -
-
- - Type: object
+ oneOf + + + + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + +
-
+ + + +
+ + + +
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Discovery Events

Type: object
-

Discovery result with implicit discovery

+ Discovery Events + + + + status + + + + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

- - No Additional Properties - -
+
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
-
+

- +

-
+
Type: stringFormat: date-time
-

RFC 3339 UTC timestamp the discover telemetry event was generated

+ status + + + + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1


Example:
-
"2019-01-17T14:02:29.364Z"
+
600
 
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Version of the UDMI schema

-
+ family
Type: object
+ @@ -19695,18 +25478,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

The event's discovery scan trigger's generation timestamp

+ addr
Type: string
+

The primary address of the device (for indicated family)

-
-
Example:
-
"2019-01-17T14:02:29.364Z"
-
-
+
-
+
-
+

- +

-
+

Entry

Type: object
- - - No Additional Properties + network
Type: string
+

The family network designator of the discovered device

+
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

+ event_no
Type: integer
+

The active or passive series number of this result (matches reported state values)

-
-
Example:
-
"Point is not writable"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ families
Type: object
+

Links to other address families (family and id)

+
No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +

Category

Type: string
+ Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ No Additional Properties + -

- -

-
- + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.start$ + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.shutdown$ + ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
- +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.ready$ + registries
Type: object
+

Registry iot cloud models

+
No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
Type: object
-Must match regular expression: ^system\.config\.receive$ + Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.parse$ + functions_ver
Type: integer
+

Function version of this request

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.apply$ + auth_type
Type: enum (of string)
+

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.login$ + device_key
Type: boolean
+

Indicates if the device private key is provided in the site model.

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.logout$ + resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.fail$ + gateway

Gateway Model

Type: object
+

Gateway Documentation

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + gateway_id
Type: string
+

The device ID of the gateway the device is bound to

+
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ - -
- +
+
Example:
+
"GAT-100"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.applied$ + target

Family Localnet Model

Type: object
+

The type of network

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.updating$ + target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

+
- -
- +
+
Examples:
+
"192.168.1.3"
+
+
"41489"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + target + + + + network
Type: string
+

The network designator for this device in the family-defined format

+
- -
- +
+
Examples:
+
"192.168.1.0/24"
+
+
"12732"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^pointset\.point\.failure$ + target + + + + adjunct
Type: object
+ No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + adjunct + + + + ^[a-z_]+$
Type: string
+ -
- +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^localnet\.network$ + target + + + + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^localnet\.network\.connect$ + target + + + + parent_id
Type: string
+

The device id of the node's parent

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + target + + + + family
Type: string
+

The family designator, used only when the entry is not keyed in a family map

+
- -
- +
+
Examples:
+
"ipv4"
+
+
"bacnet"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + target + + + + network_id
Type: string
+

The network within the gateway device to use for this network

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - -
- +
+
Examples:
+
"modbus_1"
+
+
"bacnet_1"
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + proxy_ids
Type: array of string
+

An array of all the device IDs which are bound to the device

+
- -
+ No Additional Items

Each item of this array must be:

+
+
Type: object
-Must match regular expression: ^discovery\.family\.scan$ + proxy_ids + + + + proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
- +
+

+
Example:
+
[
+    "AHU-22"
+]
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.point\.describe$ + static_file
Type: string
+

Config file to use. Within the config directory in the device's metadata directory

+
-
- +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^mapping\.device\.apply$ + blocked
Type: boolean
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + detail
Type: string
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + password
Type: string
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + updated_time
Type: stringFormat: date-time
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.receive$ + last_state_time
Type: stringFormat: date-time
+ - -
- + +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.schema$ + last_config_time
Type: stringFormat: date-time
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.content$ + last_error_time
Type: stringFormat: date-time
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.multiple$ + num_id
Type: string
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.extra$ + operation

Model Operation

Type: enum (of string)
+ + +
+

Must be one of:

+
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
+
-
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.summary\.report$ + metadata_str
Type: string
+

Strigified version of the metadata object, used for internal backend processing

+
-
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + device_ids
Type: object
+

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+
-
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-._a-zA-Z0-9]+$ +
Type: object
-Must match regular expression: ^validation\.feature\.schema$ + ^[-._a-zA-Z0-9]+$
Type: object
+ -
- +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: object
+

Device iot cloud models

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
+ + Type: object
-Must match regular expression: ^validation\.feature\.capability$ + devices + + + + Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ functions_ver
Type: integer
+

Function version of this request

+
@@ -22148,18 +28256,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ Cloud Model + + + + auth_type
Type: enum (of string)
+

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
-
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
+
-
+
-
+

- +

-
+
Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+ Cloud Model + + + + device_key
Type: boolean
+

Indicates if the device private key is provided in the site model.

-

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ -
-
Example:
-
600
-
-
-
-
-
-
+
-
+
-
+

- +

-
+
Type: object
- + devices + + + + Cloud Model + + + + resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
@@ -22317,18 +28448,18 @@

-
+
-
+

- +

-
+
Type: string
-

The primary address of the device (for indicated family)

+ devices + + + + Cloud Model + + + + gateway

Gateway Model

Type: object
+

Gateway Documentation

+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: string
-

The family network designator of the discovered device

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: integer
-

The active or passive series number of this result (matches reported state values)

-
+ gateway_id
Type: string
+

The device ID of the gateway the device is bound to

+
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ - +
+
Example:
+
"GAT-100"
+
+
-
+
-
+

- +

-
+
Type: object
-

Links to other address families (family and id)

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- -

Family Discovery

Type: object
-

Discovery information for a protocol family.

+ target

Family Localnet Model

Type: object
+

The type of network

No Additional Properties @@ -22563,18 +28648,18 @@

-
+
-
+

- +

-
+
Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + gateway + + + + target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

+
- +
+
Examples:
+
"192.168.1.3"
+
+
"41489"
+
+
-
+
-
+

- +

-
+
Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + gateway + + + + target + + + + network
Type: string
+

The network designator for this device in the family-defined format

+
- -
-
-
-
-
-
-
+
+
Examples:
+
"192.168.1.0/24"
+
+
"12732"
+

-
+
-
+

- +

-
+
Type: object
-

Registry iot cloud models

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
- -

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
- - No Additional Properties + adjunct
Type: object
+ No Additional Properties -
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: integer
-

Function version of this request

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ ^[a-z_]+$
Type: string
+ @@ -22924,18 +28970,22 @@

Must be one of:

-
+
+
+
+
+
-
+

- +

-
+
Type: boolean
-

Indicates if the device private key is provided in the site model.

+ gateway + + + + target + + + + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

@@ -22986,18 +29050,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ gateway + + + + target + + + + parent_id
Type: string
+

The device id of the node's parent

+
@@ -23051,18 +29126,18 @@

Must be one of:

-
+
-
+

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

+ gateway + + + + target + + + + family
Type: string
+

The family designator, used only when the entry is not keyed in a family map

- - No Additional Properties - -
+
+
Examples:
+
"ipv4"
+
+
"bacnet"
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

The device ID of the gateway the device is bound to

-
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + target + + + + network_id
Type: string
+

The network within the gateway device to use for this network

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
-
Example:
-
"GAT-100"
+
Examples:
+
"modbus_1"
+
+
"bacnet_1"
 
-
+
+
+
+
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

+ proxy_ids
Type: array of string
+

An array of all the device IDs which are bound to the device

- - No Additional Properties - -
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

The address of a device on the fieldbus/local network

-
+ proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
-
Examples:
-
"192.168.1.3"
-
-
"41489"
+        
+        
+

+
Example:
+
[
+    "AHU-22"
+]
 
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

The network designator for this device in the family-defined format

+ config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

+ + No Additional Properties -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: object
- No Additional Properties + static_file
Type: string
+

Config file to use. Within the config directory in the device's metadata directory

+
-
+
+
+
+
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+
Type: string
+ blocked
Type: boolean
@@ -23573,22 +29630,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ detail
Type: string
+ @@ -23653,18 +29691,18 @@

-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

-
+ password
Type: string
+ @@ -23729,18 +29752,18 @@

-
+
-
+

- +

-
+
Type: string
-

The family designator, used only when the entry is not keyed in a family map

-
+ updated_time
Type: stringFormat: date-time
+ -
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

The network within the gateway device to use for this network

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + last_state_time
Type: stringFormat: date-time
+ -
-
Examples:
-
"modbus_1"
-
-
"bacnet_1"
-
-
-
-
-
-
+
-
+
-
+

- +

-
+
Type: array of string
-

An array of all the device IDs which are bound to the device

-
+ last_config_time
Type: stringFormat: date-time
+ - No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + last_error_time
Type: stringFormat: date-time
+ -
-

-
Example:
-
[
-    "AHU-22"
-]
-
-
-
-
-
-
-
+
-
+

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
+ num_id
Type: string
- No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Config file to use. Within the config directory in the device's metadata directory

-
+ operation

Model Operation

Type: enum (of string)
+ + +
+

Must be one of:

+
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
+
@@ -24168,22 +30123,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: boolean
- + metadata_str
Type: string
+

Strigified version of the metadata object, used for internal backend processing

+
@@ -24233,18 +30185,18 @@

-
+
-
+

- +

-
+
Type: string
- + device_ids
Type: object
+

If operating on the entire registry, then this contains results for multiple devices (batched operation).

+
-
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-._a-zA-Z0-9]+$ +
Type: string
+ device_ids + + + + ^[-._a-zA-Z0-9]+$
Type: object
@@ -24355,18 +30316,30 @@

-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
Type: object
+

Information about a specific point name of the device.

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: stringFormat: date-time
+ Discovery Events + + + + points + + + + Point Pointset Model

Point Pointset Model

Type: object
+

Information about a specific point name of the device.

+
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + units
Type: string
+

Expected unit configuration for the point

+
@@ -24477,18 +30492,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + type
Type: enum (of string)
+

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
@@ -24538,18 +30557,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + description
Type: string
+

Detailed description of this point

+
@@ -24599,18 +30619,18 @@

-
+
-
+

- +

-
+
Type: string
- + writable
Type: boolean
+

Indicates if this point is writable (else read-only)

+
@@ -24660,18 +30681,18 @@

-
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

-
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
-
+ baseline_value
Type: object
+

Represents the expected baseline value of the point

+
- +
+
Example:
+
22
+
+
-
+
-
+

- +

-
+
Type: string
-

Strigified version of the metadata object, used for internal backend processing

+ baseline_tolerance
Type: number
+

Maximum deviation from baseline_value

- +
+
Example:
+
2
+
+
-
+
-
+

- +

-
+
Type: object
-

If operating on the entire registry, then this contains results for multiple devices (batched operation).

-
+ baseline_state
Type: enum (of string)
+

Expected state when baseline_value is set as the set_value for this point the config message

+
+

Must be one of:

+
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-._a-zA-Z0-9]+$ -
+
+
Type: object
- + range_min
Type: number
+

Represents the lower bound of the error threshold for a point

+
- -
-
-
-
-
-
-
-
-
-
-
+
+
Example:
+
0
+
-
+
-
+

- +

-
+
Type: object
-

Device iot cloud models

-
No Additional Properties + points + + + + Point Pointset Model + + + + range_max
Type: number
+

Represents the upper bound of the error threshold for a point

+
- -
+
+
Example:
+
100
+
+
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
+
+

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

+ Point Pointset Model + + + + unchanged_limit_sec
Type: integer
+

Represents the limit in seconds that a point can be unchanged for

- - No Additional Properties - -
+
+
Example:
+
3600
+
+
+
+
+
+
+
-
+

- +

-
+
Type: integer
-

Function version of this request

+ cov_increment
Type: number
+

Triggering threshold for partial cov update publishing

- +
+
Example:
+
1
+
+
-
+
-
+

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ ref
Type: string
+

Mapping for the point to an internal resource (e.g. BACnet object reference)

+
- +
+
Examples:
+
"AI3"
+
+
"400070"
+
+
-
+
-
+

- +

-
+
Type: boolean
-

Indicates if the device private key is provided in the site model.

-
+ adjunct
Type: object
+ No Additional Properties -
-
-
-
-
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ adjunct + + + + ^[a-z_]+$
Type: string
+ @@ -25287,18 +31340,22 @@

Must be one of:

-
+
+
+
+
+
-
+

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

+ tags
Type: array
+

Tags assosciated with the point

- - No Additional Properties - -
+

All items must be unique

No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

The device ID of the gateway the device is bound to

-
Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + tags items
Type: object
+Must match regular expression: ^[a-z0-9]+$ -
-
Example:
-
"GAT-100"
+        
+        
+

+
Examples:
+
[
+    "lighting"
+]
+
+
[
+    "energy",
+    "hvac"
+]
 
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

-
- - No Additional Properties + structure
Type: object
+

Collection of family point information

+
No Additional Properties -
+
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +
Type: string
-

The address of a device on the fieldbus/local network

+ Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+ + No Additional Properties -
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: string
-

The network designator for this device in the family-defined format

-
+ point
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
+
-
+
-
+

- +

-
+
Type: object
- No Additional Properties + name
Type: string
+

Friendly name for the reference, if known

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+
Type: string
- + possible_values
Type: array of string
+

List of possible enumerated values for the point

+
- -
-
-
-
-
-
-
-
-
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

Specifies that this is a shadow of the indicated device

-
+ possible_values + + + + possible_values items
Type: string
+ +
+
-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

+ units
Type: string
+

Current or default unit for this point

@@ -25965,18 +31977,18 @@

-
+
-
+

- +

-
+
Type: string
-

The family designator, used only when the entry is not keyed in a family map

+ ref
Type: string
+

Family reference for structures

-
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

The network within the gateway device to use for this network

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + type
Type: string
+

Current or default type for this point

+
-
-
Examples:
-
"modbus_1"
-
-
"bacnet_1"
-
-
-
-
-
-
+
-
+
-
+

- +

-
+
Type: array of string
-

An array of all the device IDs which are bound to the device

+ Ref Discovery + + + + writable
Type: boolean
+

Indicates if this point is writable or not

- No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + description
Type: string
+

Human-readable description of this point

+
-
-

-
Example:
-
[
-    "AHU-22"
-]
-
-
-
-
-
-
-
+
-
+

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
+ structure + + + + Ref Discovery + + + + status

Entry

Type: object
+ No Additional Properties @@ -26335,18 +32354,18 @@

-
+
-
+

- +

-
+
Type: string
-

Config file to use. Within the config directory in the device's metadata directory

+ Ref Discovery + + + + status + + + + message
Type: string
+

A human-readable one-line description of the entry

- -
-
-
+
+
Example:
+
"Point is not writable"
+

-
+
-
+

- +

-
+
Type: boolean
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
- Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
@@ -26530,18 +32524,18 @@

-
+
-
+

- +

-
+
Type: string
- - - - - + structure + + + + Ref Discovery + + + + status + + + + category

Category

Type: string
- -
-
-
-
-
-
-
-

- -

-
-
-
+

+ +

+
+ Type: stringFormat: date-time
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
- + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
- + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

-
  • "ERROR"
  • "CREATE"
  • "READ"
  • "REPLY"
  • "UPDATE"
  • "DELETE"
  • "MODIFY"
  • "PREVIEW"
  • "BIND"
  • "UNBIND"
  • "BOUND"
  • "ALLOW"
  • "BLOCK"
-
+ item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Strigified version of the metadata object, used for internal backend processing

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

If operating on the entire registry, then this contains results for multiple devices (batched operation).

-
+ item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-._a-zA-Z0-9]+$ -
+
+ Type: object
- - - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Information about a specific point name of the device.

-
No Additional Properties + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Point Pointset Model

Type: object
-

Information about a specific point name of the device.

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: string
-

Expected unit configuration for the point

-
+ oneOf + + + + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

Expected data type for the point

-
-

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Detailed description of this point

-
+ item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: boolean
-

Indicates if this point is writable (else read-only)

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Represents the expected baseline value of the point

-
+ item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
Example:
-
22
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: number
-

Maximum deviation from baseline_value

-
- - - - - -
-
Example:
-
2
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: enum (of string)
-

Expected state when baseline_value is set as the set_value for this point the config message

-
-

Must be one of:

-
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
+ item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: number
-

Represents the lower bound of the error threshold for a point

-
- - - - - -
-
Example:
-
0
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: number
-

Represents the upper bound of the error threshold for a point

-
+ item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
Example:
-
100
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

Represents the limit in seconds that a point can be unchanged for

-
- - - - - -
-
Example:
-
3600
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: number
-

Triggering threshold for partial cov update publishing

-
+ item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ -
-
Example:
-
1
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

Mapping for the point to an internal resource (e.g. BACnet object reference)

-
- - - - - -
-
Examples:
-
"AI3"
-
-
"400070"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
+
+ Type: string
- - - - - - - -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: array
-

Tags assosciated with the point

-
+ item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ -

All items must be unique

No Additional Items

Each item of this array must be:

-
-
+ +
Type: object
-Must match regular expression: ^[a-z0-9]+$ + Ref Discovery + + + + status + + + + category + + + + oneOf + + + + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ -
-

-
Examples:
-
[
-    "lighting"
-]
-
-
[
-    "energy",
-    "hvac"
-]
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
-

Collection of family point information

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
- -

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

-
- - No Additional Properties + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ + status + + + + category + + + + oneOf + + + + item 15
Type: object
+Must match regular expression: ^localnet\.network$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Friendly name for the reference, if known

-
+ status + + + + category + + + + oneOf + + + + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array of string
-

List of possible enumerated values for the point

-
+ status + + + + category + + + + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ - No Additional Items

Each item of this array must be:

-
-
+ +
Type: string
- + category + + + + oneOf + + + + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default unit for this point

-
+ status + + + + category + + + + oneOf + + + + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Family reference for structures

-
+ status + + + + category + + + + oneOf + + + + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default type for this point

-
+ status + + + + category + + + + oneOf + + + + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: boolean
-

Indicates if this point is writable or not

-
+ status + + + + category + + + + oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Human-readable description of this point

-
+ status + + + + category + + + + oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -29707,7 +35229,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -29789,7 +35311,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -29871,7 +35393,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -29953,7 +35475,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -30035,7 +35557,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -30117,7 +35639,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -30199,7 +35721,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ - - - - - - -
- - - Type: object
-Must match regular expression: ^system\.auth\.fail$ - - - - - - -
- - - Type: object
-Must match regular expression: ^pointset\.point\.nominal$ - - - - - - -
- - - Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -30527,7 +35803,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -30609,7 +35885,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -30691,7 +35967,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -30773,7 +36049,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -30855,7 +36131,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -30937,7 +36213,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -31019,7 +36295,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -31101,7 +36377,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -31183,7 +36459,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -31265,7 +36541,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -31347,7 +36623,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -31429,7 +36705,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -31511,7 +36787,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -31593,7 +36869,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
- -
- +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
- +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

+
+ + + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^validation\.device\.receive$ + points + + + + Point Pointset Model + + + + structure + + + + Ref Discovery + + + + adjunct
Type: object
+ No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z_]+$ +
Type: object
-Must match regular expression: ^validation\.device\.schema$ + ^[a-z_]+$
Type: string
+ -
- +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.content$ + structure
Type: object
+ -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.multiple$ + point

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties - -
- + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.extra$ + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.summary\.report$ + ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
- +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + families
Type: object
+

Reference links to alternate families

+
No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
Type: object
-Must match regular expression: ^validation\.feature\.schema$ + Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.capability$ + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ ref
Type: string
+

Point reference in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ @@ -32669,18 +38081,38 @@

-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ refs
Type: object
+

Collection of point references

+
No Additional Properties -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
+ +
-
+

- +

-
-
+
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ +

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ Ref Discovery + + + + point
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ -
-
Example:
-
600
-
-
-
-
-
-
+
-
+
-
+

- +

-
+

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

+ name
Type: string
+

Friendly name for the reference, if known

- - @@ -32925,18 +38401,18 @@

-
+
-
+

- +

-
+
Type: array of string
+

List of possible enumerated values for the point

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z_]+$ -
- - Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+ Type: string
+

Current or default unit for this point

+
@@ -33083,22 +38581,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: object
- + ref
Type: string
+

Family reference for structures

+
-
+
+
+
+
+
-
+

- +

-
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

+ type
Type: string
+

Current or default type for this point

- - No Additional Properties -
+
+
+
+
+
-
+

- +

-
+
Type: boolean
+

Indicates if this point is writable or not

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + Ref Discovery + + + + description
Type: string
+

Human-readable description of this point

+
@@ -33329,18 +38829,18 @@

-
+
-
+

- +

-
+

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + Ref Discovery + + + + status + + + + message
Type: string
+

A human-readable one-line description of the entry

+
- -
-
-
+
+
Example:
+
"Point is not writable"
+
-
+
-
+

- +

-
+
Type: object
-

Reference links to alternate families

-
No Additional Properties + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties - - - - + category

Category

Type: string
- -
-
-
-

- -

-
-
-
+

+ +

+
+ Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Collection of point references

-
No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[-_.:/a-zA-Z0-9]+$ -
- -

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

-
- - No Additional Properties + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point descriptor for this point

-
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Friendly name for the reference, if known

-
+ item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array of string
-

List of possible enumerated values for the point

-
- - - - - - No Additional Items

Each item of this array must be:

-
-
- - - Type: string
- + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default unit for this point

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Family reference for structures

-
+ item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default type for this point

-
+ status + + + + category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: boolean
-

Indicates if this point is writable or not

-
+ status + + + + category + + + + oneOf + + + + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Human-readable description of this point

-
+ status + + + + category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -35054,7 +40295,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -35122,7 +40363,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -35190,7 +40431,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -35258,7 +40499,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -35326,7 +40567,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -35394,7 +40635,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -35462,7 +40703,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -35530,7 +40771,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -35598,7 +40839,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -35666,7 +40907,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -35734,7 +40975,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -35802,7 +41043,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -35870,7 +41111,211 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i26" role="tabpanel"> + + + Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ + + + + + + +
Type: object
-Must match regular expression: ^pointset\.point\.failure$ - - - - - - -
- - - Type: object
-Must match regular expression: ^pointset\.point\.invalid$ - - - - - - -
- - - Type: object
-Must match regular expression: ^localnet\.network$ - - - - - - -
- - - Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -36142,7 +41383,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -36210,7 +41451,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -36278,7 +41519,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -36346,7 +41587,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -36414,7 +41655,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -36482,7 +41723,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -36550,7 +41791,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -36618,7 +41859,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -36686,7 +41927,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -36754,7 +41995,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -36822,7 +42063,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -36890,7 +42131,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -36958,7 +42199,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -37026,7 +42267,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -37094,7 +42335,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -37162,7 +42403,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -37230,7 +42471,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -37298,7 +42539,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -37366,7 +42607,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -37434,7 +42675,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/monitoring.html b/gencode/docs/monitoring.html index 5ff67ac31d..727d702536 100644 --- a/gencode/docs/monitoring.html +++ b/gencode/docs/monitoring.html @@ -752,6 +752,71 @@

id="metric_system_logentries_items_category_oneOf_i36" data-toggle="tab" href="#tab-pane_metric_system_logentries_items_category_oneOf_i36" role="tab" onclick="setAnchor('#metric_system_logentries_items_category_oneOf_i36')" >Option 37 +
@@ -2271,7 +2336,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -2332,7 +2397,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -2393,7 +2458,7 @@

/> item 26Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -2454,7 +2519,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -2515,7 +2580,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -2576,7 +2641,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -2637,7 +2702,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -2698,7 +2763,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2759,7 +2824,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2820,7 +2885,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2881,7 +2946,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2942,7 +3007,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -3003,7 +3068,800 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/persistent_device.html b/gencode/docs/persistent_device.html index 15d4d7f913..b686f1346f 100644 --- a/gencode/docs/persistent_device.html +++ b/gencode/docs/persistent_device.html @@ -1334,6 +1334,39 @@

+

+ + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+ + + + + + +
diff --git a/gencode/docs/state.html b/gencode/docs/state.html index 633d773cb2..ff8b018702 100644 --- a/gencode/docs/state.html +++ b/gencode/docs/state.html @@ -1282,6 +1282,71 @@

id="system_status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_system_status_category_oneOf_i36" role="tab" onclick="setAnchor('#system_status_category_oneOf_i36')" >Option 37 +
@@ -2451,7 +2516,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -2498,7 +2563,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -2545,7 +2610,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -2592,7 +2657,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -2639,7 +2704,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -2686,7 +2751,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -2733,7 +2798,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -2780,7 +2845,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2827,7 +2892,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2874,7 +2939,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2921,7 +2986,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2968,7 +3033,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -3015,37 +3080,16 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - - +Must match regular expression: ^blobset\.blob\.apply\.dependency$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - - - - - -
-
-
-

- -

-
- -
-
- -

Gateway State

Type: object
-

Gateway Documentation

-
- - No Additional Properties + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Category

Type: string
+ item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -3589,7 +3370,7 @@

+ id="tab-pane_system_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -3636,7 +3417,7 @@

+ id="tab-pane_system_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -3683,7 +3464,7 @@

+ id="tab-pane_system_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -3730,7 +3511,7 @@

+ id="tab-pane_system_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -3777,7 +3558,7 @@

+ id="tab-pane_system_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -3824,7 +3605,7 @@

+ id="tab-pane_system_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -3871,7 +3652,7 @@

+ id="tab-pane_system_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.fail$ + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
- -
- +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+ + + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + gateway

Gateway State

Type: object
+

Gateway Documentation

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^pointset\.point\.applied$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- - - Type: object
-Must match regular expression: ^pointset\.point\.updating$ - - - - - - -
- - - Type: object
-Must match regular expression: ^pointset\.point\.overridden$ - - - - +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^pointset\.point\.failure$ - - - + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- - - Type: object
-Must match regular expression: ^pointset\.point\.invalid$ - +
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^localnet\.network$ - - - - + category

Category

Type: string
- -
- - Type: object
-Must match regular expression: ^localnet\.network\.connect$ - - - - - - -
+

+ +

+
Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -4388,7 +4330,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -4435,7 +4377,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -4482,7 +4424,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -4529,7 +4471,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -4576,7 +4518,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -4623,7 +4565,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -4670,7 +4612,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -4717,7 +4659,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -4764,7 +4706,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -4811,7 +4753,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -4858,7 +4800,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -4905,7 +4847,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -4952,7 +4894,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -4999,7 +4941,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -5046,7 +4988,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -5093,7 +5035,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -5140,7 +5082,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -5187,7 +5129,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -5234,7 +5176,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 19Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - - - - - -
-
-
-

- -

-
- -
-
- -

Discovery State

Type: object
-

State for discovery

-
- - No Additional Properties + oneOf + + + + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

Not included in messages published by devices. Part of message subblocks within cloud pipeline. RFC 3339 Timestamp the payload was generated

-
- - - - - -
-
Example:
-
"2019-01-17T14:02:29.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Version of the UDMI schema, not included in messages published by devices

-
+ oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

Generational marker to group results together

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
-

Discovery protocol families

-
No Additional Properties + oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Discovery State

Type: object
-

State for discovery

-
- - No Additional Properties + category + + + + oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

Generational marker for reporting discovery

-
+ oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

Current phase of an active discovery process

-
-

Must be one of:

-
  • "stopped"
  • "pending"
  • "active"
-
+ oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
-

Number of records produced so far for this active scan generation

-
+ oneOf + + + + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ -

Value must be greater or equal to 0

- -
-
-
-
-
-
-
-

- -

-
-
-
+ +
+ Type: integer
-

Number of passive scan results currently 'on hold'

-
+ oneOf + + + + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ -

Value must be greater or equal to 0

- -
-
-
-
-
-
-
-

- -

-
-
-
+ +
+

Entry

Type: object
-

Status information about the discovery operation

-
+ oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse$ -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

A human-readable one-line description of the entry

-
+ item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ -
-
-
-
-
-
-
-

- -

-
+
+ -
-
+ Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ + + + + + + +
+

Category

Type: string
+ item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -6356,7 +5975,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -6417,7 +6022,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -6478,7 +6069,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -6539,7 +6116,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -6600,7 +6163,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -6661,7 +6210,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -6722,7 +6257,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -6783,7 +6304,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -6844,7 +6351,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -6905,7 +6398,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -6966,7 +6445,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -7027,7 +6492,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -7088,7 +6539,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -7149,7 +6586,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+ + + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^localnet\.network$ + discovery

Discovery State

Type: object
+

State for discovery

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: stringFormat: date-time
+

Not included in messages published by devices. Part of message subblocks within cloud pipeline. RFC 3339 Timestamp the payload was generated

+
+ + + + + +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^localnet\.network\.connect$ + version
Type: string
+

Version of the UDMI schema, not included in messages published by devices

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: stringFormat: date-time
+

Generational marker to group results together

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Discovery protocol families

+
No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + Family Discovery State

Family Discovery State

Type: object
+

State for discovery

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: stringFormat: date-time
+

Generational marker for reporting discovery

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + Family Discovery State + + + + phase
Type: enum (of string)
+

Current phase of an active discovery process

+
+

Must be one of:

+
  • "stopped"
  • "pending"
  • "active"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: integer
+

Number of records produced so far for this active scan generation

+
+ + + +

Value must be greater or equal to 0

+ + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + Family Discovery State + + + + passive_count
Type: integer
+

Number of passive scan results currently 'on hold'

+
- +

Value must be greater or equal to 0

-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+

Entry

Type: object
+

Status information about the discovery operation

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^discovery\.family\.scan$ - - - - - - -
- - - Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ - - - + message
Type: string
+

A human-readable one-line description of the entry

+
-
- - - Type: object
-Must match regular expression: ^discovery\.point\.describe$ - - +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^mapping\.device\.apply$ - - - + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- - - Type: object
-Must match regular expression: ^blobset\.blob\.receive$ - +
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ - - - - + category

Category

Type: string
- -
- + +

+ +

+
+ Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -7942,7 +7773,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -8003,7 +7834,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -8064,7 +7895,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -8125,7 +7956,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -8186,7 +8017,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -8247,7 +8078,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -8308,7 +8139,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -8369,7 +8200,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -8430,7 +8261,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -8491,7 +8322,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ -
- - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - - - - - - - - - - - - - -
-
-
-

- -

-
- -
-
- -

Localnet State

Type: object
- - - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^_?[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Localnet State

Type: object
- - - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
- Type: object
+Must match regular expression: ^pointset\.point\.failure$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- + status + + + + category + + + + oneOf + + + + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^localnet\.network$ -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -9363,7 +8932,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -9424,7 +8993,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -9485,7 +9054,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -9546,7 +9115,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ - + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ +
+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -9668,7 +9237,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -9729,7 +9298,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -9790,7 +9359,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -9851,7 +9420,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -9912,7 +9481,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -9973,7 +9542,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -10034,7 +9603,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -10095,7 +9664,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -10156,7 +9725,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -10217,7 +9786,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -10278,7 +9847,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -10339,7 +9908,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -10400,7 +9969,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -10461,7 +10030,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -10522,7 +10091,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -10583,7 +10152,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -10644,7 +10213,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -10705,7 +10274,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -10766,7 +10335,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -10827,7 +10396,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -10888,7 +10457,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -10949,7 +10518,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -11010,7 +10579,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -11071,7 +10640,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -11132,7 +10701,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.extra$ + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
- -
- +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.summary\.report$ + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
- +
+
Example:
+
600
+
+
+
+
+
+ + + + + + + + + + + + + + + + + +
+
+
+

+ +

+
+ +
+

Localnet State

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^_?[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ + Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + Family Localnet State

Family Localnet State

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: string
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^validation\.feature\.schema$ + Family Localnet State + + + + status

Entry

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.capability$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+ detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
+
-
+
-
+

- +

-
+
Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
- -

Family Localnet State

Type: object
- - - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: string
- - + category

Category

Type: string
- - - -
+

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.overridden$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.setup\.attach$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.target$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.family\.scan$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.point\.describe$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^mapping\.device\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.update$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Family Localnet State

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.overridden$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.setup\.attach$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.target$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.family\.scan$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.point\.describe$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^mapping\.device\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.update$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+
+

+ +

+
+ +
+
+ +

Blobset State

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^_?[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
+ +

Blob Blobset State

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ +

BlobPhase

Type: enum (of string)
+

Phase for the management of a configuration blob.

+
+ +
+

Must be one of:

+
  • "apply"
  • "final"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
-
+
-
+

- +

-
-
+
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+

Entry

Type: object
- + status + + + + category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -12335,7 +20132,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -12396,7 +20193,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -12457,7 +20254,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -12518,7 +20315,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -12579,7 +20376,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -12640,7 +20437,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -12701,7 +20498,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -12762,7 +20559,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -12823,7 +20620,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -12884,7 +20681,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -12945,7 +20742,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -13006,7 +20803,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -13067,7 +20864,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -13128,7 +20925,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13189,7 +20986,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -13250,7 +21047,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -13311,7 +21108,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -13372,7 +21169,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -13433,7 +21230,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -13494,7 +21291,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -13555,7 +21352,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -13616,7 +21413,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -13677,7 +21474,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -13738,7 +21535,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -13799,7 +21596,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -13860,7 +21657,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -13921,7 +21718,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -13982,7 +21779,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -14043,7 +21840,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -14104,7 +21901,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -14165,7 +21962,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -14226,7 +22023,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -14287,7 +22084,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -14348,7 +22145,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -14409,7 +22206,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -14470,7 +22267,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -14541,18 +22338,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+ timestamp
Type: stringFormat: date-time

FC 3339 UTC timestamp the condition was triggered, or most recently updated

@@ -14600,25 +22397,25 @@


Example:
-
"2018-08-26T21:39:28.364Z"
+
"2018-08-26T21:39:28.364Z"
 

-
+
-
+

- +

-
+
Type: integer
+ level
Type: integer

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1


Example:
-
600
+
600
 
@@ -14677,30 +22474,18 @@

-
-
-
-
-
-
-
-
- - - - -
+
-
+

- +

-
+

Blobset State

Type: object
- - - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties + Blob Blobset State + + + + generation
Type: stringFormat: date-time
+

The timestamp of the blob generation

+
- -
+
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + +
-
+

- +

-
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^_?[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Blob Blobset State

Type: object
- + alarmset

Alarmset State

Type: object
+

A set of alarms reporting telemetry data.

+
No Additional Properties @@ -14806,18 +22577,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+

Not included in messages published by devices. Part of message subblocks within cloud pipeline. RFC 3339 Timestamp the payload was generated

+
+ + + + + +
+
Example:
+
"2019-01-17T14:02:29.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

BlobPhase

Type: enum (of string)
-

Phase for the management of a configuration blob.

+ version
Type: string
+

Version of the UDMI schema, not included in messages published by devices

- -
-

Must be one of:

-
  • "apply"
  • "final"
-
@@ -14866,18 +22663,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
+

An identifier which uniquely represents the state, and used by a device avoid race conditions where the incoming config is based off an obsolete state. Additional information on implementation

+
+ + + +

Must be at most 32 characters long

+ + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
- + status

Entry

Type: object
+

Optional status information about alarmset

+
No Additional Properties @@ -14918,18 +22743,18 @@

-
+
-
+

- +

-
+
Type: string
+ message
Type: string

A human-readable one-line description of the entry

@@ -14977,25 +22788,25 @@


Example:
-
"Point is not writable"
+
"Point is not writable"
 

-
+
-
+

- +

-
+
Type: string
+ detail
Type: string

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

@@ -15046,18 +22843,18 @@

-
+
-
+

- +

-
+

Category

Type: string
+ category

Category

Type: string
-

+

-

- - - Type: object
-Must match regular expression: ^system\.base\.start$ - - - - - - -
+ id="tab-pane_alarmset_status_category_oneOf_i0" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -15409,7 +23182,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -15470,7 +23229,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -15531,7 +23276,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -15592,7 +23323,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -15653,7 +23370,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -15714,7 +23417,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -15775,7 +23464,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -15836,7 +23511,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -15897,7 +23558,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -15958,7 +23605,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -16019,7 +23652,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -16080,7 +23699,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -16141,7 +23746,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -16202,7 +23793,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -16263,7 +23840,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -16324,7 +23887,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -16385,7 +23934,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -16446,7 +23981,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -16507,7 +24028,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -16568,7 +24075,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i20" role="tabpanel"> Type: object
+Must match regular expression: ^discovery\.family\.scan$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ - - - - - - -
- - - Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -16690,7 +24216,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -16751,7 +24263,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -16812,7 +24310,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -16873,7 +24357,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -16934,7 +24404,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -16995,7 +24451,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -17056,7 +24498,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -17117,7 +24545,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i30" role="tabpanel"> Type: object
+Must match regular expression: ^blobset\.blob\.parse$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.multiple$ - - - - - - -
- - - Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -17239,7 +24686,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -17300,7 +24733,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -17361,7 +24780,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -17422,7 +24827,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -17483,7 +24874,7 @@

+ id="tab-pane_alarmset_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 37Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - -
-
-
-

- -

-
+ fill-rule="evenodd" + d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z" + /> + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + -
-
+ + + + +
+ Type: stringFormat: date-time
-

The timestamp of the blob generation

-
- - - - - -
-
Example:
-
"2019-01-17T14:02:29.364Z"
-
-
-
-
-
- - - - - - - - - - - - - -
-
-
-

- -

-
- -
-
- -

Alarmset State

Type: object
-

A set of alarms reporting telemetry data.

-
- - No Additional Properties + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

Not included in messages published by devices. Part of message subblocks within cloud pipeline. RFC 3339 Timestamp the payload was generated

-
- - - - - -
-
Example:
-
"2019-01-17T14:02:29.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: string
-

Version of the UDMI schema, not included in messages published by devices

-
+ oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

An identifier which uniquely represents the state, and used by a device avoid race conditions where the incoming config is based off an obsolete state. Additional information on implementation

-
- - - -

Must be at most 32 characters long

- - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Entry

Type: object
-

Optional status information about alarmset

-
- - No Additional Properties + oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ - - -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ + + +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + -

- -

-
+ +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -18333,7 +25391,54 @@

+ id="tab-pane_alarmset_status_category_oneOf_i48" role="tabpanel"> + + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.shutdown$ + status + + + + category + + + + oneOf + + + + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+ + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+

Collection of alarm names, defining the representative alarm set for this device.

+
No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
Type: object
-Must match regular expression: ^system\.base\.ready$ + Alarm Alarmset State

Alarm Alarmset State

Type: object
+

Object representation for for a single alarm

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.receive$ + units
Type: string
+

If specified, indicates a programmed alarm unit. If empty, means unspecified or matches configured alarm.

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.parse$ + value_state
Type: enum (of string)
+

State of the individual alarm

+
+

Must be one of:

+
  • "initializing"
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.apply$ + status

Entry

Type: object
+

Optional status information about this alarm, subject to log severity level

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.login$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.logout$ + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
- -
- + +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.auth\.fail$ - + category

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -18756,7 +26352,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + category + + + + oneOf + + + + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -18803,7 +26413,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + category + + + + oneOf + + + + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -18850,7 +26474,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + category + + + + oneOf + + + + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -18897,7 +26535,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -18944,7 +26596,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + category + + + + oneOf + + + + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -18991,7 +26657,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -19038,7 +26718,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + category + + + + oneOf + + + + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -19085,7 +26779,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -19132,7 +26840,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + category + + + + oneOf + + + + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -19179,7 +26901,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -19226,7 +26962,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -19273,7 +27023,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + category + + + + oneOf + + + + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -19320,7 +27084,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + category + + + + oneOf + + + + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -19367,7 +27145,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + category + + + + oneOf + + + + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -19414,7 +27206,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + category + + + + oneOf + + + + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -19461,7 +27267,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + category + + + + oneOf + + + + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -19508,7 +27328,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + category + + + + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -19555,7 +27389,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + category + + + + oneOf + + + + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -19602,7 +27450,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + category + + + + oneOf + + + + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -19649,7 +27511,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + oneOf + + + + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -19696,7 +27572,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + category + + + + oneOf + + + + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -19743,7 +27633,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + category + + + + oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -19790,7 +27694,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + category + + + + oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -19837,7 +27755,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + category + + + + oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -19884,7 +27816,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + category + + + + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -19931,7 +27877,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + category + + + + oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -19978,7 +27938,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
- - - - - - - - - - -
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
- - - - -
-
-
-

- -

-
- -
-
- - Type: object
-

Collection of alarm names, defining the representative alarm set for this device.

-
No Additional Properties + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Alarm Alarmset State

Type: object
-

Object representation for for a single alarm

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: string
-

If specified, indicates a programmed alarm unit. If empty, means unspecified or matches configured alarm.

-
+ item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

State of the individual alarm

-
-

Must be one of:

-
  • "initializing"
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
+ status + + + + category + + + + oneOf + + + + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
-

Optional status information about this alarm, subject to log severity level

-
- - No Additional Properties + status + + + + category + + + + oneOf + + + + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
- - - - - -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
+ category + + + + oneOf + + + + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ + -
-
+ + + + +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ status + + + + category + + + + oneOf + + + + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -20827,7 +28487,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -20888,7 +28548,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -20949,7 +28609,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -21010,7 +28670,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -21071,7 +28731,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -21132,7 +28792,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -21193,7 +28853,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -21254,7 +28914,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -21315,7 +28975,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -21376,7 +29036,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -21437,7 +29097,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -21498,7 +29158,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -21559,7 +29219,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -21620,7 +29280,7 @@

+ id="tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+ + + + + + + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

Original version of schema pre-upgrade

+
+ + + + + + +
+
+
+
+ + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + pointset

Pointset State

Type: object
+

A set of points reporting telemetry data.

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: string
+

An identifier which uniquely represents the state, and used by a device avoid race conditions where the incoming config is based off an obsolete state. Additional information on implementation

+
+ + + +

Must be at most 32 characters long

+ + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+

Optional status information about pointset

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^localnet\.network$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^localnet\.network\.connect$ - + category

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -21864,7 +30091,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ - - -
- - -
+ + + Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -21986,7 +30185,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -22047,7 +30232,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -22108,7 +30279,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -22169,7 +30326,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -22230,7 +30373,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -22291,7 +30420,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -22352,7 +30467,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -22413,7 +30514,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -22474,7 +30561,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -22535,7 +30608,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -22596,7 +30655,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -22657,7 +30702,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -22718,7 +30749,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -22779,7 +30796,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -22840,7 +30843,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -22901,7 +30890,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -22962,7 +30937,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 19Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
- - - - - - - - - - - - - -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

Original version of schema pre-upgrade

-
- - - - - - -
-
-
-
- - - - -
-
-
-

- -

-
- -
-
- -

Pointset State

Type: object
-

A set of points reporting telemetry data.

-
- - No Additional Properties + category + + + + oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

An identifier which uniquely represents the state, and used by a device avoid race conditions where the incoming config is based off an obsolete state. Additional information on implementation

-
- - - -

Must be at most 32 characters long

- - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Entry

Type: object
-

Optional status information about pointset

-
- - No Additional Properties + oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
- - - - - -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
+ category + + + + oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ + -
-
+ + + + +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ category + + + + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -23708,7 +31360,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -23755,7 +31407,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -23802,7 +31454,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -23849,7 +31501,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -23896,7 +31548,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -23943,7 +31595,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -23990,7 +31642,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -24037,7 +31689,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -24084,7 +31736,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -24131,7 +31783,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -24178,7 +31830,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -24225,7 +31877,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -24272,7 +31924,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -24319,7 +31971,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -24366,7 +32018,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -24413,7 +32065,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -24460,7 +32112,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -24507,7 +32159,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -24554,7 +32206,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -24601,7 +32253,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
- -
- + +
+ + + +
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+ + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + points
Type: object
+

Collection of point names, defining the representative point set for this device.

+
No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ +
Type: object
-Must match regular expression: ^discovery\.point\.describe$ + Point Pointset State

Point Pointset State

Type: object
+

Object representation for for a single point

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^mapping\.device\.apply$ + units
Type: string
+

If specified, indicates a programmed point unit. If empty, means unspecified or matches configured point.

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + value_state
Type: enum (of string)
+

State of the individual point

+
+

Must be one of:

+
  • "initializing"
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + status

Entry

Type: object
+

Optional status information about this point, subject to log severity level

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.receive$ + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+

Category

Type: string
+ + +

+ +

+
+ + + Type: object
-Must match regular expression: ^validation\.device\.schema$ - - - - - - -
- - - Type: object
-Must match regular expression: ^validation\.device\.content$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -25071,7 +33261,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ - - - - - - -
- - - Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.device\.extra$ - - - - - - -
- - - Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -25212,7 +33383,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ - - - - - - -
- - - Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
-Must match regular expression: ^validation\.feature\.schema$ - - - - - - -
- - - Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -25353,7 +33505,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
- - - + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
+ + -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
- - - -
-
-
-

- -

-
- -
-
- - Type: object
-

Collection of point names, defining the representative point set for this device.

-
No Additional Properties + category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Point Pointset State

Type: object
-

Object representation for for a single point

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: string
-

If specified, indicates a programmed point unit. If empty, means unspecified or matches configured point.

-
+ item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: enum (of string)
-

State of the individual point

-
-

Must be one of:

-
  • "initializing"
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Entry

Type: object
-

Optional status information about this point, subject to log severity level

-
- - No Additional Properties + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
- - - - - -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
+ category + + + + oneOf + + + + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + -
-
+ + + + +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + +

Category

Type: string
- - -

- -

-
+ /> + + Point Pointset State + + + + status + + + + category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -26202,7 +33993,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -26263,7 +34054,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -26324,7 +34115,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -26385,7 +34176,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -26446,7 +34237,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -26507,7 +34298,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -26568,7 +34359,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -26629,7 +34420,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -26690,7 +34481,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -26751,7 +34542,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -26812,7 +34603,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -26873,7 +34664,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -26934,7 +34725,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -26995,7 +34786,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -27056,7 +34847,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -27117,7 +34908,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -27178,7 +34969,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -27239,7 +35030,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -27300,7 +35091,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -27361,7 +35152,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -27422,7 +35213,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -27483,7 +35274,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -27544,7 +35335,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -27605,7 +35396,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -27666,7 +35457,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -27727,7 +35518,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -27788,7 +35579,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -27849,7 +35640,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -27910,7 +35701,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -27971,7 +35762,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -28032,7 +35823,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -28093,7 +35884,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -28154,7 +35945,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -28215,7 +36006,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -28276,7 +36067,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -28337,7 +36128,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/state_mapping.html b/gencode/docs/state_mapping.html index 8af8187831..f41895082b 100644 --- a/gencode/docs/state_mapping.html +++ b/gencode/docs/state_mapping.html @@ -782,6 +782,71 @@

id="devices_pattern1_status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_devices_pattern1_status_category_oneOf_i36" role="tab" onclick="setAnchor('#devices_pattern1_status_category_oneOf_i36')" >Option 37 +
@@ -2126,7 +2191,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -2180,7 +2245,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -2234,7 +2299,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -2288,7 +2353,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -2342,7 +2407,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -2396,7 +2461,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -2450,7 +2515,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -2504,7 +2569,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2558,7 +2623,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2612,7 +2677,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2666,7 +2731,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2720,7 +2785,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -2774,7 +2839,709 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/state_validation.html b/gencode/docs/state_validation.html index 34613a9d0b..0e093944a9 100644 --- a/gencode/docs/state_validation.html +++ b/gencode/docs/state_validation.html @@ -1018,6 +1018,71 @@

id="status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_status_category_oneOf_i36" role="tab" onclick="setAnchor('#status_category_oneOf_i36')" >Option 37 +
@@ -2012,7 +2077,7 @@

/> item 24

Type: object
-Must match regular expression: ^blobset\.blob\.receive$ +Must match regular expression: ^blobset\.blob$ @@ -2052,7 +2117,7 @@

/> item 25

Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ +Must match regular expression: ^blobset\.blob\.update$ @@ -2092,7 +2157,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.receive$ @@ -2132,7 +2197,7 @@

/> item 27Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.fetch$ @@ -2172,7 +2237,7 @@

/> item 28Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -2212,7 +2277,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -2252,7 +2317,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.parse$ @@ -2292,7 +2357,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -2332,7 +2397,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -2372,7 +2437,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -2412,7 +2477,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2452,7 +2517,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -2492,37 +2557,16 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - - +Must match regular expression: ^blobset\.blob\.apply\.dependency$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
- - - - - -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
- - - - - -
-
-
-

- -

-
+ -
-
+ +
+ Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[.a-z]+$ -
- -

Feature Validation State

Type: object
-

Feature validation state

-
- - No Additional Properties + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[_a-z]+$ -
+
+

Sequence Validation State

Type: object
-

Sequence Validation State

-
- - No Additional Properties + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-

- -

-
- -
-
+
+ Type: string
- + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

FeatureStage

Type: enum (of string)
-

Stage of a feature implemenation

-
- -
-

Must be one of:

-
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
-
+ item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[.a-z]+$ -
+
+ Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + +

Capability Validation State

Type: object
-

Capability validation state

-
- - No Additional Properties + category + + + + oneOf + + + + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-

- -

-
- -
-
+
+ Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: string
- + oneOf + + + + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + +

FeatureStage

Type: enum (of string)
-

Stage of a feature implemenation

-
+ oneOf + + + + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + -
-

Must be one of:

-
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
-
+ +
@@ -3191,18 +3095,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[.a-z]+$ +
+ +

Capability result

Type: enum (of string)
-
-

Must be one of:

-
  • "pass"
  • "fail"
-
+ Feature Validation State

Feature Validation State

Type: object
+

Feature validation state

+
+ + No Additional Properties -
-
-
-
-
+
-
+

- +

-
+
Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[_a-z]+$ +
+ +

Entry

Type: object
- + Sequence Validation State

Sequence Validation State

Type: object
+

Sequence Validation State

+
No Additional Properties @@ -3342,18 +3363,18 @@

-
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

-
+ summary
Type: string
+ -
-
Example:
-
"Point is not writable"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+ stage

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
@@ -3512,18 +3491,18 @@

-
+
-
+

- +

-
+
Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[.a-z]+$ +
+ +

Category

Type: string
- - -

- -

-
- - -

Capability Validation State

Type: object
+

Capability validation state

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+ Type: string
+ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.shutdown$ + stage

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+
+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.ready$ + result

Capability result

Type: enum (of string)
+
+

Must be one of:

+
  • "pass"
  • "fail"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.receive$ + status

Entry

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.parse$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.apply$ - - - - - - -
- - - Type: object
-Must match regular expression: ^system\.auth\.login$ - - - + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- - - Type: object
-Must match regular expression: ^system\.auth\.logout$ - +
+
+
+
+
+
+
+

+ +

+
- -
- +
+
Type: object
-Must match regular expression: ^system\.auth\.fail$ - - - - + category

Category

Type: string
- -
- -
+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -4922,7 +4752,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -5004,7 +4834,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -5086,7 +4916,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -5168,7 +4998,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -5250,7 +5080,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -5332,7 +5162,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -5414,7 +5244,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -5496,7 +5326,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -5578,7 +5408,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -5660,7 +5490,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -5742,7 +5572,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -5824,7 +5654,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -5906,7 +5736,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -5988,7 +5818,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -6070,7 +5900,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -6152,7 +5982,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -6234,7 +6064,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -6316,7 +6146,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -6398,7 +6228,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -6480,7 +6310,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -6562,7 +6392,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -6644,7 +6474,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -6726,7 +6556,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
- - - -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
+ category + + + + oneOf + + + + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ + -
-
+ + + + +
+ Type: integer
- + status + + + + category + + + + oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
- + status + + + + category + + + + oneOf + + + + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+
+

Sequence Result

Type: enum (of string)
-
-

Must be one of:

-
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
- Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
- - - - - -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ + + + + + + +
+ + + Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
- Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + category + + + + oneOf + + + + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -7735,7 +7294,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + category + + + + oneOf + + + + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -7803,7 +7376,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + category + + + + oneOf + + + + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -7871,7 +7458,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -7939,7 +7540,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + category + + + + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -8007,7 +7622,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -8075,7 +7704,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -8143,7 +7786,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + category + + + + oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -8211,7 +7868,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + category + + + + oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -8279,7 +7950,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + category + + + + oneOf + + + + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -8347,7 +8032,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + category + + + + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -8415,7 +8114,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + category + + + + oneOf + + + + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -8483,7 +8196,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + category + + + + oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -8551,7 +8278,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + category + + + + oneOf + + + + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -8619,7 +8360,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + category + + + + oneOf + + + + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -8687,7 +8442,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + category + + + + oneOf + + + + item 49
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^localnet\.network\.connect$ + timestamp
Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
- -
- +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
- +
+
Example:
+
600
+
+
+
+
+
+ + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + score
Type: integer
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + total
Type: integer
+ -
- +
+
+
+ + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.family\.scan$ + result

Sequence Result

Type: enum (of string)
+
+

Must be one of:

+
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
+
-
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + status

Entry

Type: object
+ + + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^discovery\.point\.describe$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^mapping\.device\.apply$ + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^blobset\.blob\.receive$ - - - - + category

Category

Type: string
- -
- -
+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -9571,7 +9652,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -9639,7 +9720,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -9707,7 +9788,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -9775,7 +9856,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -9843,7 +9924,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -9911,7 +9992,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -9979,7 +10060,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -10047,7 +10128,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -10115,7 +10196,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 11Type: object
+Must match regular expression: ^pointset\.point\.updating$ - - - - -
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
- -
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ category + + + + oneOf + + + + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
- - - - - -
-
-
-

- -

-
+ -
-
+ +
+ Type: object
- No Additional Properties + status + + + + category + + + + oneOf + + + + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ -
-
-
-

- -

-
- -
-
+
+ Type: integer
- + category + + + + oneOf + + + + item 15
Type: object
+Must match regular expression: ^localnet\.network$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
- - - - - - - -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - -
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[.a-z]+$ -
- -

Schema Validation State

Type: object
-

Schema validation state

-
- - No Additional Properties + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ -
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[_a-z]+$ -
- - Type: object
- + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[_a-z]+$ -
- -

Sequence Validation State

Type: object
-

Sequence Validation State

-
- - No Additional Properties + oneOf + + + + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ -
-
-
-

- -

-
- -
-
+
+ Type: string
- - - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- - Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ + + + + + + +
+ + +

FeatureStage

Type: enum (of string)
-

Stage of a feature implemenation

-
- -
-

Must be one of:

-
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
- Type: object
+Must match regular expression: ^discovery\.family\.scan$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[.a-z]+$ -
+
+

Capability Validation State

Type: object
-

Capability validation state

-
- - No Additional Properties + category + + + + oneOf + + + + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ -
-
-
-

- -

-
- -
-
+
+ Type: string
- + oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

FeatureStage

Type: enum (of string)
-

Stage of a feature implemenation

-
- -
-

Must be one of:

-
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
-
+ oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Capability result

Type: enum (of string)
-
-

Must be one of:

-
  • "pass"
  • "fail"
-
+ oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ + - No Additional Properties + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.receive$ -
-
-
-

- -

-
+ -
-
+ +
+ Type: string
-

A human-readable one-line description of the entry

-
+ item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -11914,7 +11556,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -11996,7 +11624,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -12078,7 +11692,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -12160,7 +11760,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -12242,7 +11828,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -12324,7 +11896,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -12406,7 +11964,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -12488,7 +12032,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -12570,7 +12100,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -12652,7 +12168,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -12734,7 +12236,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -12816,7 +12304,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -12898,7 +12372,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -12980,7 +12440,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -13062,7 +12508,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -13144,7 +12576,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -13226,7 +12644,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -13308,7 +12712,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -13390,7 +12780,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i49" role="tabpanel"> Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+ + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ - - - - - - -
- - - Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^discovery\.family\.scan$ + level
Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
- +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
- +
+
Example:
+
600
+
+
+
+
+
+ + + + + +
+
+
+

+ +

+
+ +
+
Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + scoring + + + + value
Type: integer
+ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: integer
+ + + + + + + +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[.a-z]+$ +
+ + Type: object
-Must match regular expression: ^discovery\.point\.describe$ + Schema Validation State

Schema Validation State

Type: object
+

Schema validation state

+
+ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[_a-z]+$ +
+ + Type: object
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^mapping\.device\.apply$ + sequences
Type: object
+ No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[_a-z]+$ +

Sequence Validation State

Type: object
+

Sequence Validation State

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + summary
Type: string
+ -
- - - +
+
+
+
+
+
+

+ +

+
+ +
+
+ +

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+
+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + capabilities
Type: object
+ No Additional Properties -
- +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[.a-z]+$ +

Capability Validation State

Type: object
+

Capability validation state

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^blobset\.blob\.apply$ - - - - - - -
+
+
+
+
+
+
+

+ +

+
+ +
+

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+
+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.schema$ + result

Capability result

Type: enum (of string)
+
+

Must be one of:

+
  • "pass"
  • "fail"
+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.content$ - - - - + status

Entry

Type: object
- -
- - Type: object
-Must match regular expression: ^validation\.device\.multiple$ + No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.extra$ + message
Type: string
+

A human-readable one-line description of the entry

+
- -
- +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.summary\.report$ + detail
Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.sequence$ - - - - + category

Category

Type: string
- -
- -
+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

FC 3339 UTC timestamp the condition was triggered, or most recently updated

-
+ category + + + + oneOf + + + + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
Example:
-
"2018-08-26T21:39:28.364Z"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: integer
-

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-
+ category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ -

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

- -
-
Example:
-
600
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
+ -
-
+ +
+ Type: integer
- + status + + + + category + + + + oneOf + + + + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
- + status + + + + category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Sequence Result

Type: enum (of string)
-
-

Must be one of:

-
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
+ capabilities + + + + Capability Validation State + + + + status + + + + category + + + + oneOf + + + + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+

Entry

Type: object
- - - No Additional Properties + capabilities + + + + Capability Validation State + + + + status + + + + category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ Capability Validation State + + + + status + + + + category + + + + oneOf + + + + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ Capability Validation State + + + + status + + + + category + + + + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ Capability Validation State + + + + status + + + + category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + -

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + category + + + + oneOf + + + + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -15793,7 +15628,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + category + + + + oneOf + + + + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -15861,7 +15710,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ - - - + category + + + + oneOf + + + + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + + +
+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + category + + + + oneOf + + + + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -15997,7 +15874,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + category + + + + oneOf + + + + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -16065,7 +15956,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + category + + + + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -16133,7 +16038,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + category + + + + oneOf + + + + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -16201,7 +16120,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + category + + + + oneOf + + + + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -16269,7 +16202,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + category + + + + oneOf + + + + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -16337,7 +16284,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + category + + + + oneOf + + + + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -16405,7 +16366,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + category + + + + oneOf + + + + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -16473,7 +16448,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + category + + + + oneOf + + + + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -16541,7 +16530,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + category + + + + oneOf + + + + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -16609,7 +16612,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + category + + + + oneOf + + + + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -16677,7 +16694,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + category + + + + oneOf + + + + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -16745,7 +16776,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + category + + + + oneOf + + + + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -16813,7 +16858,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + category + + + + oneOf + + + + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -16881,7 +16940,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + category + + + + oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -16949,7 +17022,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + category + + + + oneOf + + + + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -17017,7 +17104,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + category + + + + oneOf + + + + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -17085,7 +17186,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + category + + + + oneOf + + + + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -17153,7 +17268,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + category + + + + oneOf + + + + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -17221,7 +17350,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + category + + + + oneOf + + + + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -17289,7 +17432,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + category + + + + oneOf + + + + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -17357,7 +17514,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + category + + + + oneOf + + + + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -17425,7 +17596,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + category + + + + oneOf + + + + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -17493,7 +17678,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + category + + + + oneOf + + + + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -17561,7 +17760,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + category + + + + oneOf + + + + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -17629,7 +17842,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -17697,7 +17924,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + category + + + + oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -17765,7 +18006,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + category + + + + oneOf + + + + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -17833,7 +18088,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + category + + + + oneOf + + + + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -17901,7 +18170,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + category + + + + oneOf + + + + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -17969,7 +18252,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ - - - - - - -
+ category + + + + oneOf + + + + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
Type: object
-Must match regular expression: ^validation\.feature\.schema$ + category + + + + oneOf + + + + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -18105,7 +18416,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + category + + + + oneOf + + + + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -18173,7 +18498,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + category + + + + oneOf + + + + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -18251,18 +18672,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+ Capability Validation State + + + + status + + + + timestamp
Type: stringFormat: date-time

FC 3339 UTC timestamp the condition was triggered, or most recently updated

@@ -18317,25 +18752,25 @@


Example:
-
"2018-08-26T21:39:28.364Z"
+
"2018-08-26T21:39:28.364Z"
 

-
+
-
+

- +

-
+
Type: integer
+ Capability Validation State + + + + status + + + + level
Type: integer

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

-

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1


Example:
-
600
+
600
 
@@ -18401,18 +18850,18 @@

-
+
-
+

- +

-
+
Type: object
- No Additional Properties - - - - + capabilities + + + + Capability Validation State + + + + score
Type: integer
-
+ + + + + +
+
+
+
+
-
+

- +

-
+
+
+ + Type: integer
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Sequence Result

Type: enum (of string)
+
+

Must be one of:

+
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: object
+Must match regular expression: ^system\.base\.start$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.shutdown$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.base\.ready$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.config\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.logout$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.nominal$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.overridden$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^localnet\.network\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.setup\.attach$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.target$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.family\.scan$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^discovery\.point\.describe$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^mapping\.device\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.update$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.abort$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.receive$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.content$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.device\.extra$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.summary\.report$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

FC 3339 UTC timestamp the condition was triggered, or most recently updated

+
+ + + + + +
+
Example:
+
"2018-08-26T21:39:28.364Z"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

The status level should conform to the numerical Stackdriver LogEntry levels. The DEFAULT value of 0 is not allowed (lowest value is 100, maximum 800).

+
+ + + +

Value must be greater or equal to 100 and lesser or equal to 800 and a multiple of 1

+ +
+
Example:
+
600
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: integer
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + +
+
+
+

+ +

+
+ +
+
+ +

Validation Summary

Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: object
+ No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

All properties whose name matches the following regular expression must respect the following conditions

+ Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
+ +

Device Validation Events

Type: object
+

Validation summary information for an individual device.

+
+ + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

Last time any message from this device was received

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: stringFormat: date-time
+

Oldest recorded mark for this device

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Entry

Type: object
+ + + No Additional Properties + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: string
+

A human-readable one-line description of the entry

+
+ + + + + +
+
Example:
+
"Point is not writable"
+
+
+
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + Type: string
+

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Category

Type: string
+ + +

+ +

+
+ + + Type: integer
- + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
- + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - -
-
-
-

- -

-
- -
-
+
+

Validation Summary

Type: object
- No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: array of string
- - - - - - - No Additional Items

Each item of this array must be:

-
-
- - - Type: string
- + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array of string
- - - - - - - No Additional Items

Each item of this array must be:

-
- Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: array of string
- - - - - - - No Additional Items

Each item of this array must be:

-
- Type: object
+Must match regular expression: ^system\.config\.parse$ - -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
- + +
+ + Type: array of string
- - - - - - - No Additional Items

Each item of this array must be:

-
-
- - - Type: string
- - - - - - - -
-
-
-
-
-
-
- - - -
-
-
-

- -

-
- -
-
- - Type: object
- No Additional Properties + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-

- -

-
- -
-

- -

-

All properties whose name matches the following regular expression must respect the following conditions

- Property name regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
+
+

Device Validation Events

Type: object
-

Validation summary information for an individual device.

-
- - No Additional Properties - - - - - - -
-
-
-

- -

-
- -
-
- - Type: stringFormat: date-time
-

Last time any message from this device was received

-
+ oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: stringFormat: date-time
-

Oldest recorded mark for this device

-
- - - - - - -
-
-
-
-
-
-
-

- -

-
- -
-
- -

Entry

Type: object
- - - No Additional Properties + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

An optional extensive entry which can include more detail, e.g. a complete program stack-trace

-
+ item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ + + + -

- -

-
+ +
+ + + Type: object
+Must match regular expression: ^pointset\.point\.updating$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -19563,7 +25021,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -19617,7 +25075,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -19671,7 +25129,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -19725,7 +25183,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -19779,7 +25237,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -19833,7 +25291,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -19887,7 +25345,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -19941,7 +25399,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -19995,7 +25453,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -20049,7 +25507,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -20103,7 +25561,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -20157,7 +25615,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob$ @@ -20211,7 +25669,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.update$ @@ -20265,7 +25723,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -20319,7 +25777,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -20373,7 +25831,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.oversize$ @@ -20427,7 +25885,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -20481,7 +25939,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.parse$ @@ -20535,7 +25993,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.corrupt$ @@ -20589,7 +26047,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.invalid$ @@ -20643,7 +26101,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 33
Type: object
+Must match regular expression: ^blobset\.blob\.parse\.incompatible$ @@ -20697,7 +26155,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 34
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -20751,7 +26209,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 35
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.failure$ @@ -20805,7 +26263,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 36
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.dependency$ @@ -20859,7 +26317,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 37
Type: object
+Must match regular expression: ^blobset\.blob\.apply\.restart$ @@ -20913,7 +26371,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 38
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -20967,7 +26425,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 39
Type: object
+Must match regular expression: ^blobset\.blob\.rollback$ @@ -21021,7 +26479,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 40
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -21075,7 +26533,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 41
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -21129,7 +26587,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 42
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -21183,7 +26641,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i43" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 43
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -21237,7 +26695,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i44" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 44
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -21291,7 +26749,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i45" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 45
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -21345,7 +26803,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i46" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 46
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -21399,7 +26857,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i47" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 47
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -21453,7 +26911,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i48" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 48
Type: object
+Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/java/udmi/schema/BlobUpdateTestingModel.java b/gencode/java/udmi/schema/BlobUpdateTestingModel.java new file mode 100644 index 0000000000..78bbc59af9 --- /dev/null +++ b/gencode/java/udmi/schema/BlobUpdateTestingModel.java @@ -0,0 +1,76 @@ + +package udmi.schema; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + * Blob Update Testing Model + *

+ * + * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "blob_name", + "url", + "sha256", + "version" +}) +public class BlobUpdateTestingModel { + + /** + * Blob name for the payload + * + */ + @JsonProperty("blob_name") + @JsonPropertyDescription("Blob name for the payload") + public String blob_name; + /** + * URL for OTA update + * + */ + @JsonProperty("url") + @JsonPropertyDescription("URL for OTA update") + public String url; + /** + * SHA256 hash of the payload + * + */ + @JsonProperty("sha256") + @JsonPropertyDescription("SHA256 hash of the payload") + public String sha256; + /** + * Expected software version + * + */ + @JsonProperty("version") + @JsonPropertyDescription("Expected software version") + public String version; + + @Override + public int hashCode() { + int result = 1; + result = ((result* 31)+((this.blob_name == null)? 0 :this.blob_name.hashCode())); + result = ((result* 31)+((this.sha256 == null)? 0 :this.sha256 .hashCode())); + result = ((result* 31)+((this.version == null)? 0 :this.version.hashCode())); + result = ((result* 31)+((this.url == null)? 0 :this.url.hashCode())); + return result; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if ((other instanceof BlobUpdateTestingModel) == false) { + return false; + } + BlobUpdateTestingModel rhs = ((BlobUpdateTestingModel) other); + return (((((this.blob_name == rhs.blob_name)||((this.blob_name!= null)&&this.blob_name.equals(rhs.blob_name)))&&((this.sha256 == rhs.sha256)||((this.sha256 != null)&&this.sha256 .equals(rhs.sha256))))&&((this.version == rhs.version)||((this.version!= null)&&this.version.equals(rhs.version))))&&((this.url == rhs.url)||((this.url!= null)&&this.url.equals(rhs.url)))); + } + +} diff --git a/gencode/java/udmi/schema/Bucket.java b/gencode/java/udmi/schema/Bucket.java index 4f80b429d8..24712c6f8e 100644 --- a/gencode/java/udmi/schema/Bucket.java +++ b/gencode/java/udmi/schema/Bucket.java @@ -44,6 +44,12 @@ public enum Bucket { // System mode SYSTEM_MODE("system.mode"), + // System software + SYSTEM_SOFTWARE("system.software"), + + // Over the air software updates + SYSTEM_SOFTWARE_UPDATES("system.software.updates"), + // Writeback related operations WRITEBACK("writeback"), diff --git a/gencode/java/udmi/schema/Category.java b/gencode/java/udmi/schema/Category.java index dd0c5c81ba..f43e0486cf 100644 --- a/gencode/java/udmi/schema/Category.java +++ b/gencode/java/udmi/schema/Category.java @@ -159,6 +159,18 @@ public class Category { public static final int MAPPING_DEVICE_APPLY_VALUE = INFO.value(); static { LEVEL.put(MAPPING_DEVICE_APPLY, INFO); } + // Conditions specific to an individual blob + public static final String BLOBSET_BLOB = "blobset.blob"; + public static final Level BLOBSET_BLOB_LEVEL = INFO; + public static final int BLOBSET_BLOB_VALUE = INFO.value(); + static { LEVEL.put(BLOBSET_BLOB, INFO); } + + // Processing a blob update + public static final String BLOBSET_BLOB_UPDATE = "blobset.blob.update"; + public static final Level BLOBSET_BLOB_UPDATE_LEVEL = INFO; + public static final int BLOBSET_BLOB_UPDATE_VALUE = INFO.value(); + static { LEVEL.put(BLOBSET_BLOB_UPDATE, INFO); } + // About receiving a blob update public static final String BLOBSET_BLOB_RECEIVE = "blobset.blob.receive"; public static final Level BLOBSET_BLOB_RECEIVE_LEVEL = DEBUG; @@ -171,12 +183,78 @@ public class Category { public static final int BLOBSET_BLOB_FETCH_VALUE = DEBUG.value(); static { LEVEL.put(BLOBSET_BLOB_FETCH, DEBUG); } + // Insufficient storage to download or unpack blob + public static final String BLOBSET_BLOB_FETCH_OVERSIZE = "blobset.blob.fetch.oversize"; + public static final Level BLOBSET_BLOB_FETCH_OVERSIZE_LEVEL = ERROR; + public static final int BLOBSET_BLOB_FETCH_OVERSIZE_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_FETCH_OVERSIZE, ERROR); } + + // Blob fetch failed + public static final String BLOBSET_BLOB_FETCH_FAILURE = "blobset.blob.fetch.failure"; + public static final Level BLOBSET_BLOB_FETCH_FAILURE_LEVEL = ERROR; + public static final int BLOBSET_BLOB_FETCH_FAILURE_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_FETCH_FAILURE, ERROR); } + + // Parsing and verifying a blob + public static final String BLOBSET_BLOB_PARSE = "blobset.blob.parse"; + public static final Level BLOBSET_BLOB_PARSE_LEVEL = DEBUG; + public static final int BLOBSET_BLOB_PARSE_VALUE = DEBUG.value(); + static { LEVEL.put(BLOBSET_BLOB_PARSE, DEBUG); } + + // Data integrity check failed + public static final String BLOBSET_BLOB_PARSE_CORRUPT = "blobset.blob.parse.corrupt"; + public static final Level BLOBSET_BLOB_PARSE_CORRUPT_LEVEL = ERROR; + public static final int BLOBSET_BLOB_PARSE_CORRUPT_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_PARSE_CORRUPT, ERROR); } + + // The data is invalid in some way + public static final String BLOBSET_BLOB_PARSE_INVALID = "blobset.blob.parse.invalid"; + public static final Level BLOBSET_BLOB_PARSE_INVALID_LEVEL = ERROR; + public static final int BLOBSET_BLOB_PARSE_INVALID_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_PARSE_INVALID, ERROR); } + + // Blob is incompatible with the device for some reason + public static final String BLOBSET_BLOB_PARSE_INCOMPATIBLE = "blobset.blob.parse.incompatible"; + public static final Level BLOBSET_BLOB_PARSE_INCOMPATIBLE_LEVEL = ERROR; + public static final int BLOBSET_BLOB_PARSE_INCOMPATIBLE_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_PARSE_INCOMPATIBLE, ERROR); } + // Applying a blob update public static final String BLOBSET_BLOB_APPLY = "blobset.blob.apply"; public static final Level BLOBSET_BLOB_APPLY_LEVEL = NOTICE; public static final int BLOBSET_BLOB_APPLY_VALUE = NOTICE.value(); static { LEVEL.put(BLOBSET_BLOB_APPLY, NOTICE); } + // Failed to install or execute + public static final String BLOBSET_BLOB_APPLY_FAILURE = "blobset.blob.apply.failure"; + public static final Level BLOBSET_BLOB_APPLY_FAILURE_LEVEL = ERROR; + public static final int BLOBSET_BLOB_APPLY_FAILURE_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_APPLY_FAILURE, ERROR); } + + // Dependencies required to apply are missing + public static final String BLOBSET_BLOB_APPLY_DEPENDENCY = "blobset.blob.apply.dependency"; + public static final Level BLOBSET_BLOB_APPLY_DEPENDENCY_LEVEL = ERROR; + public static final int BLOBSET_BLOB_APPLY_DEPENDENCY_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_APPLY_DEPENDENCY, ERROR); } + + // Restart required to take effect + public static final String BLOBSET_BLOB_APPLY_RESTART = "blobset.blob.apply.restart"; + public static final Level BLOBSET_BLOB_APPLY_RESTART_LEVEL = NOTICE; + public static final int BLOBSET_BLOB_APPLY_RESTART_VALUE = NOTICE.value(); + static { LEVEL.put(BLOBSET_BLOB_APPLY_RESTART, NOTICE); } + + // Blob update process was canceled or aborted + public static final String BLOBSET_BLOB_ABORT = "blobset.blob.abort"; + public static final Level BLOBSET_BLOB_ABORT_LEVEL = NOTICE; + public static final int BLOBSET_BLOB_ABORT_VALUE = NOTICE.value(); + static { LEVEL.put(BLOBSET_BLOB_ABORT, NOTICE); } + + // Reverting to previous blob version + public static final String BLOBSET_BLOB_ROLLBACK = "blobset.blob.rollback"; + public static final Level BLOBSET_BLOB_ROLLBACK_LEVEL = NOTICE; + public static final int BLOBSET_BLOB_ROLLBACK_VALUE = NOTICE.value(); + static { LEVEL.put(BLOBSET_BLOB_ROLLBACK, NOTICE); } + // Receiving/processing a message for validation. public static final String VALIDATION_DEVICE_RECEIVE = "validation.device.receive"; public static final Level VALIDATION_DEVICE_RECEIVE_LEVEL = DEBUG; diff --git a/gencode/java/udmi/schema/DevicePersistent.java b/gencode/java/udmi/schema/DevicePersistent.java index 53d98dfa9d..f0ed402273 100644 --- a/gencode/java/udmi/schema/DevicePersistent.java +++ b/gencode/java/udmi/schema/DevicePersistent.java @@ -1,6 +1,7 @@ package udmi.schema; +import java.util.HashMap; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; @@ -16,7 +17,8 @@ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "endpoint", - "restart_count" + "restart_count", + "applied_blobs" }) public class DevicePersistent { @@ -31,12 +33,15 @@ public class DevicePersistent { public EndpointConfiguration endpoint; @JsonProperty("restart_count") public Integer restart_count; + @JsonProperty("applied_blobs") + public HashMap applied_blobs; @Override public int hashCode() { int result = 1; result = ((result* 31)+((this.endpoint == null)? 0 :this.endpoint.hashCode())); result = ((result* 31)+((this.restart_count == null)? 0 :this.restart_count.hashCode())); + result = ((result* 31)+((this.applied_blobs == null)? 0 :this.applied_blobs.hashCode())); return result; } @@ -49,7 +54,7 @@ public boolean equals(Object other) { return false; } DevicePersistent rhs = ((DevicePersistent) other); - return (((this.endpoint == rhs.endpoint)||((this.endpoint!= null)&&this.endpoint.equals(rhs.endpoint)))&&((this.restart_count == rhs.restart_count)||((this.restart_count!= null)&&this.restart_count.equals(rhs.restart_count)))); + return ((((this.endpoint == rhs.endpoint)||((this.endpoint!= null)&&this.endpoint.equals(rhs.endpoint)))&&((this.restart_count == rhs.restart_count)||((this.restart_count!= null)&&this.restart_count.equals(rhs.restart_count))))&&((this.applied_blobs == rhs.applied_blobs)||((this.applied_blobs!= null)&&this.applied_blobs.equals(rhs.applied_blobs)))); } } diff --git a/gencode/java/udmi/schema/TestingModel.java b/gencode/java/udmi/schema/TestingModel.java index 290b33addb..7b0a65493a 100644 --- a/gencode/java/udmi/schema/TestingModel.java +++ b/gencode/java/udmi/schema/TestingModel.java @@ -16,7 +16,8 @@ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "nostate", - "targets" + "targets", + "blob_update_targets" }) public class TestingModel { @@ -24,10 +25,13 @@ public class TestingModel { public Boolean nostate; @JsonProperty("targets") public HashMap targets; + @JsonProperty("blob_update_targets") + public HashMap blob_update_targets; @Override public int hashCode() { int result = 1; + result = ((result* 31)+((this.blob_update_targets == null)? 0 :this.blob_update_targets.hashCode())); result = ((result* 31)+((this.targets == null)? 0 :this.targets.hashCode())); result = ((result* 31)+((this.nostate == null)? 0 :this.nostate.hashCode())); return result; @@ -42,7 +46,7 @@ public boolean equals(Object other) { return false; } TestingModel rhs = ((TestingModel) other); - return (((this.targets == rhs.targets)||((this.targets!= null)&&this.targets.equals(rhs.targets)))&&((this.nostate == rhs.nostate)||((this.nostate!= null)&&this.nostate.equals(rhs.nostate)))); + return ((((this.blob_update_targets == rhs.blob_update_targets)||((this.blob_update_targets!= null)&&this.blob_update_targets.equals(rhs.blob_update_targets)))&&((this.targets == rhs.targets)||((this.targets!= null)&&this.targets.equals(rhs.targets))))&&((this.nostate == rhs.nostate)||((this.nostate!= null)&&this.nostate.equals(rhs.nostate)))); } } diff --git a/gencode/python/udmi/schema/__init__.py b/gencode/python/udmi/schema/__init__.py index 829fd41a42..382da7022a 100644 --- a/gencode/python/udmi/schema/__init__.py +++ b/gencode/python/udmi/schema/__init__.py @@ -74,6 +74,7 @@ from .model_system_hardware import * from .model_testing import * from .model_testing_target import * +from .model_testing_update import * from .monitoring import * from .monitoring_metric import * from .options_pubber import * diff --git a/gencode/python/udmi/schema/bucket.py b/gencode/python/udmi/schema/bucket.py index 2c52d85375..66c4a9f6dd 100644 --- a/gencode/python/udmi/schema/bucket.py +++ b/gencode/python/udmi/schema/bucket.py @@ -46,6 +46,12 @@ class Bucket(DataModel): # System mode SYSTEM_MODE: ClassVar[str] = "system.mode" + # System software + SYSTEM_SOFTWARE: ClassVar[str] = "system.software" + + # Over the air software updates + SYSTEM_SOFTWARE_UPDATES: ClassVar[str] = "system.software.updates" + # Writeback related operations WRITEBACK: ClassVar[str] = "writeback" @@ -65,6 +71,8 @@ class Bucket(DataModel): POINTSET, SYSTEM, SYSTEM_MODE, + SYSTEM_SOFTWARE, + SYSTEM_SOFTWARE_UPDATES, WRITEBACK, UNKNOWN_DEFAULT } diff --git a/gencode/python/udmi/schema/category.py b/gencode/python/udmi/schema/category.py index a1ab38cf72..686830d751 100644 --- a/gencode/python/udmi/schema/category.py +++ b/gencode/python/udmi/schema/category.py @@ -83,15 +83,54 @@ class Category(Enum): # Stage of applying a device mapping MAPPING_DEVICE_APPLY = ("mapping.device.apply", Level.INFO) + # Conditions specific to an individual blob + BLOBSET_BLOB = ("blobset.blob", Level.INFO) + + # Processing a blob update + BLOBSET_BLOB_UPDATE = ("blobset.blob.update", Level.INFO) + # About receiving a blob update BLOBSET_BLOB_RECEIVE = ("blobset.blob.receive", Level.DEBUG) # Fetching a blob update BLOBSET_BLOB_FETCH = ("blobset.blob.fetch", Level.DEBUG) + # Insufficient storage to download or unpack blob + BLOBSET_BLOB_FETCH_OVERSIZE = ("blobset.blob.fetch.oversize", Level.ERROR) + + # Blob fetch failed + BLOBSET_BLOB_FETCH_FAILURE = ("blobset.blob.fetch.failure", Level.ERROR) + + # Parsing and verifying a blob + BLOBSET_BLOB_PARSE = ("blobset.blob.parse", Level.DEBUG) + + # Data integrity check failed + BLOBSET_BLOB_PARSE_CORRUPT = ("blobset.blob.parse.corrupt", Level.ERROR) + + # The data is invalid in some way + BLOBSET_BLOB_PARSE_INVALID = ("blobset.blob.parse.invalid", Level.ERROR) + + # Blob is incompatible with the device for some reason + BLOBSET_BLOB_PARSE_INCOMPATIBLE = ("blobset.blob.parse.incompatible", Level.ERROR) + # Applying a blob update BLOBSET_BLOB_APPLY = ("blobset.blob.apply", Level.NOTICE) + # Failed to install or execute + BLOBSET_BLOB_APPLY_FAILURE = ("blobset.blob.apply.failure", Level.ERROR) + + # Dependencies required to apply are missing + BLOBSET_BLOB_APPLY_DEPENDENCY = ("blobset.blob.apply.dependency", Level.ERROR) + + # Restart required to take effect + BLOBSET_BLOB_APPLY_RESTART = ("blobset.blob.apply.restart", Level.NOTICE) + + # Blob update process was canceled or aborted + BLOBSET_BLOB_ABORT = ("blobset.blob.abort", Level.NOTICE) + + # Reverting to previous blob version + BLOBSET_BLOB_ROLLBACK = ("blobset.blob.rollback", Level.NOTICE) + # Receiving/processing a message for validation. VALIDATION_DEVICE_RECEIVE = ("validation.device.receive", Level.DEBUG) diff --git a/gencode/python/udmi/schema/model_testing.py b/gencode/python/udmi/schema/model_testing.py index 6b400c2f0e..683567312f 100644 --- a/gencode/python/udmi/schema/model_testing.py +++ b/gencode/python/udmi/schema/model_testing.py @@ -8,6 +8,7 @@ from ._base import DataModel from .model_testing_target import TargetTestingModel +from .model_testing_update import BlobUpdateTestingModel @dataclass @@ -18,3 +19,4 @@ class TestingModel(DataModel): nostate: Optional[bool] = None targets: Optional[Dict[str, TargetTestingModel]] = None + blob_update_targets: Optional[Dict[str, BlobUpdateTestingModel]] = None diff --git a/gencode/python/udmi/schema/model_testing_update.py b/gencode/python/udmi/schema/model_testing_update.py new file mode 100644 index 0000000000..2710c0a104 --- /dev/null +++ b/gencode/python/udmi/schema/model_testing_update.py @@ -0,0 +1,17 @@ +# generated by datamodel-codegen: +# filename: model_testing_update.json + +from __future__ import annotations + +from dataclasses import dataclass +from typing import Optional + +from ._base import DataModel + + +@dataclass +class BlobUpdateTestingModel(DataModel): + blob_name: Optional[str] = None + url: Optional[str] = None + sha256: Optional[str] = None + version: Optional[str] = None diff --git a/gencode/python/udmi/schema/persistent_device.py b/gencode/python/udmi/schema/persistent_device.py index 57f532b891..67c3e54c47 100644 --- a/gencode/python/udmi/schema/persistent_device.py +++ b/gencode/python/udmi/schema/persistent_device.py @@ -4,7 +4,7 @@ from __future__ import annotations from dataclasses import dataclass -from typing import Optional +from typing import Any, Dict, Optional from ._base import DataModel from .configuration_endpoint import EndpointConfiguration @@ -18,3 +18,4 @@ class DevicePersistent(DataModel): endpoint: Optional[EndpointConfiguration] = None restart_count: Optional[int] = None + applied_blobs: Optional[Dict[str, Any]] = None diff --git a/pubber/build.gradle b/pubber/build.gradle index b55e653d26..a456c86e35 100644 --- a/pubber/build.gradle +++ b/pubber/build.gradle @@ -125,6 +125,7 @@ dependencies { implementation 'org.jetbrains:annotations:20.1.0' implementation 'ch.qos.logback:logback-classic:1.5.6' implementation 'uk.org.lidalia:sysout-over-slf4j:1.0.2' + implementation 'org.eclipse.jgit:org.eclipse.jgit:6.9.0.202403050737-r' testImplementation group: 'junit', name: 'junit', version: '4.13.2' testImplementation 'org.mockito:mockito-core:5.3.1' diff --git a/pubber/src/main/java/daq/pubber/impl/PubberFeatures.java b/pubber/src/main/java/daq/pubber/impl/PubberFeatures.java index d89d554a68..c6ce1f330e 100644 --- a/pubber/src/main/java/daq/pubber/impl/PubberFeatures.java +++ b/pubber/src/main/java/daq/pubber/impl/PubberFeatures.java @@ -13,6 +13,7 @@ import static udmi.schema.Bucket.POINTSET; import static udmi.schema.Bucket.SYSTEM; import static udmi.schema.Bucket.SYSTEM_MODE; +import static udmi.schema.Bucket.SYSTEM_SOFTWARE_UPDATES; import static udmi.schema.Bucket.UNKNOWN_DEFAULT; import static udmi.schema.FeatureDiscovery.FeatureStage.BETA; import static udmi.schema.FeatureDiscovery.FeatureStage.PREVIEW; @@ -46,6 +47,7 @@ public abstract class PubberFeatures { add(ENUMERATION_POINTSET, PREVIEW); add(ENDPOINT_CONFIG, BETA); add(DISCOVERY_SCAN, PREVIEW); + add(SYSTEM_SOFTWARE_UPDATES, PREVIEW); } private static void add(Bucket featureBucket, FeatureStage stage) { diff --git a/pubber/src/main/java/daq/pubber/impl/blob/MockGitModuleEmulator.java b/pubber/src/main/java/daq/pubber/impl/blob/MockGitModuleEmulator.java new file mode 100644 index 0000000000..e6b8662664 --- /dev/null +++ b/pubber/src/main/java/daq/pubber/impl/blob/MockGitModuleEmulator.java @@ -0,0 +1,167 @@ +package daq.pubber.impl.blob; + +import static com.google.udmi.util.JsonUtil.safeSleep; +import static java.lang.String.format; +import static java.nio.charset.StandardCharsets.UTF_8; + +import java.io.File; +import java.io.IOException; +import java.util.Map; +import java.util.Optional; +import java.util.function.Consumer; +import org.apache.commons.io.FileUtils; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.lib.ObjectId; +import udmi.lib.base.UdmiException.BlobAbortException; +import udmi.lib.base.UdmiException.BlobApplyFailureException; +import udmi.lib.base.UdmiException.BlobIncompatibleException; +import udmi.lib.base.UdmiException.BlobRollbackException; + +/** + * Mock emulator for Git modules used in OTA updates. + */ +public class MockGitModuleEmulator { + + private static final String VERSION_KEY = "version"; + private static final String SIMULATE_KEY = "simulate"; + private static final String UNKNOWN_VERSION = "unknown"; + private static final int SIMULATED_DELAY_MS = 2000; + + /** + * The directory where the mock JGit repository is initialized. + */ + private final File repoDir; + + private final Consumer infoLogger; + private final Consumer noticeLogger; + private final Consumer errorLogger; + private boolean inMemoryFallback = false; + + /** + * Creates a new instance of MockGitModuleEmulator. + * + * @param softwareModuleDir The directory for the software module. + * @param infoLogger Logger for info messages. + * @param noticeLogger Logger for notice messages. + * @param errorLogger Logger for error messages. + */ + public MockGitModuleEmulator(String softwareModuleDir, Consumer infoLogger, + Consumer noticeLogger, Consumer errorLogger) { + this.repoDir = new File(softwareModuleDir); + this.infoLogger = infoLogger; + this.noticeLogger = noticeLogger; + this.errorLogger = errorLogger; + } + + /** + * Initializes the module by creating a local JGit repository with mock history. If file system or + * JGit operations fail, it sets an in-memory fallback flag. + */ + public void initialize() { + try { + prepareDirectory(); + setupMockRepository(); + } catch (Exception e) { + errorLogger.accept("Critical failure during initialization: " + e.getMessage()); + inMemoryFallback = true; + } + } + + private void prepareDirectory() throws IOException { + if (repoDir.exists()) { + FileUtils.deleteDirectory(repoDir); + } + if (!repoDir.mkdirs()) { + throw new IOException("Failed to create directory: " + repoDir.getAbsolutePath()); + } + } + + private void setupMockRepository() { + infoLogger.accept("Initializing mock JGit module in " + repoDir.getAbsolutePath()); + try (Git git = Git.init().setDirectory(repoDir).call()) { + createCommit(git, "v1"); + createCommit(git, "v2"); + git.checkout().setName("v1").call(); + infoLogger.accept("Isolated JGit repo initialized successfully."); + } catch (Exception e) { + infoLogger.accept("JGit init failed, using in-memory fallback: " + e.getMessage()); + inMemoryFallback = true; + } + } + + private void createCommit(Git git, String version) throws Exception { + File versionFile = new File(repoDir, "version.txt"); + FileUtils.writeStringToFile(versionFile, version, UTF_8); + git.add().addFilepattern(".").call(); + git.commit() + .setMessage(version) + .setAuthor("Pubber", "pubber@udmi.io") + .call(); + git.tag().setName(version).call(); + } + + /** + * Handles an OTA update by parsing the payload and checking out the specified version. This + * method also processes "simulate" keys in the payload to trigger mock errors. + * + * @param payloadMap The JSON payload containing update instructions (version and behavior). + * @throws RuntimeException if the version is missing or JGit checkout fails. + */ + public void updateTo(Map payloadMap) { + String version = Optional.ofNullable((String) payloadMap.get(VERSION_KEY)) + .map(String::trim) + .orElseThrow(() -> new BlobIncompatibleException("Missing version in payload")); + + handleSimulatedBehaviors((String) payloadMap.get(SIMULATE_KEY)); + + infoLogger.accept(format("Updating pubber module to: %s", version)); + safeSleep(SIMULATED_DELAY_MS); + + if (inMemoryFallback) { + noticeLogger.accept("Mock module update completed (In-Memory)."); + return; + } + + try (Git git = Git.open(repoDir)) { + git.checkout().setName(version).call(); + noticeLogger.accept("Mock module update completed successfully."); + } catch (Exception e) { + throw new BlobApplyFailureException( + "JGit checkout failed for version: " + version + e.getMessage()); + } + } + + private void handleSimulatedBehaviors(String behavior) { + if (behavior == null) { + return; + } + + safeSleep(SIMULATED_DELAY_MS); + switch (behavior.toLowerCase()) { + case "incompatible" -> throw new BlobIncompatibleException("Hardware incompatible"); + case "apply_failure" -> throw new BlobApplyFailureException("Simulated apply failure"); + case "abort" -> throw new BlobAbortException("Simulated abort"); + case "rollback" -> throw new BlobRollbackException("Simulated rollback"); + default -> infoLogger.accept("No simulated error for behavior: " + behavior); + } + } + + /** + * Retrieves the current version of the module. + * + * @return The current tag/commit hash, or "unknown" if the repository is not available. + */ + public String getModuleVersion() { + if (inMemoryFallback || !repoDir.exists()) { + return UNKNOWN_VERSION; + } + + try (Git git = Git.open(repoDir)) { + ObjectId head = git.getRepository().resolve("HEAD"); + return head != null ? git.describe().setTarget(head).call() : UNKNOWN_VERSION; + } catch (Exception e) { + errorLogger.accept("Failed to resolve version: " + e.getMessage()); + return UNKNOWN_VERSION; + } + } +} diff --git a/pubber/src/main/java/daq/pubber/impl/blob/PubberBlobLifecycleHandler.java b/pubber/src/main/java/daq/pubber/impl/blob/PubberBlobLifecycleHandler.java new file mode 100644 index 0000000000..411793d6b1 --- /dev/null +++ b/pubber/src/main/java/daq/pubber/impl/blob/PubberBlobLifecycleHandler.java @@ -0,0 +1,167 @@ +package daq.pubber.impl.blob; + +import static com.google.udmi.util.JsonUtil.asMap; +import static udmi.schema.Category.BLOBSET_BLOB_APPLY_RESTART; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import udmi.lib.base.UdmiException.BlobIncompatibleException; +import udmi.lib.base.UdmiException.BlobParseException; +import udmi.lib.base.UdmiException.PayloadTooBigException; +import udmi.lib.blob.intf.BlobLifecycleHandler; +import udmi.lib.client.host.PublisherHost; +import udmi.schema.Operation.SystemMode; + +/** + * Implementation of the {@link BlobLifecycleHandler} for the Pubber emulator. + * Manages the lifecycle of blobs, such as software modules, + * through a two-phase deployment process: staging and activation. + */ +public class PubberBlobLifecycleHandler implements BlobLifecycleHandler { + + /** + * The key used to identify the primary software module blob in the system state. + */ + public static final String SOFTWARE_MODULE_KEY = "pubber_module"; + + private final PublisherHost host; + private final MockGitModuleEmulator moduleEmulator; + private final Map blobHandlers = new HashMap<>(); + + /** + * Constructs a new handler and initializes the default module emulator. + * + * @param host The publisher host providing access to device state and logging. + * @param suffix A unique suffix for directory naming to avoid collisions. + */ + public PubberBlobLifecycleHandler(PublisherHost host, String suffix) { + this.host = host; + + String dynamicDir = "out/pubber_module_repo_" + suffix; + this.moduleEmulator = new MockGitModuleEmulator(dynamicDir, host::info, host::notice, + host::error); + moduleEmulator.initialize(); + + // Register handlers for supported blob types + blobHandlers.put(SOFTWARE_MODULE_KEY, new Handlers( + this::stagePubberModuleUpdate, + this::activatePubberModuleUpdate + )); + + updateModuleVersionInState(); + } + + /** + * Checks if the specified blob name has a registered handler. + * + * @param blobName The name of the blob to check. + * @return true if the blob is supported, false otherwise. + */ + @Override + public boolean isBlobSupported(String blobName) { + return blobHandlers.containsKey(blobName); + } + + /** + * Fetches blob data from a URL with simulated error handling for testing. + * + * @param url The URL of the blob data. + * @return The fetched byte array. + * @throws PayloadTooBigException if the URL contains the "mock_oversize" trigger. + */ + @Override + public byte[] fetchBlobData(String url) { + if (url != null && url.contains("mock_oversize")) { + throw new PayloadTooBigException("Simulated payload too big"); + } + return BlobLifecycleHandler.super.fetchBlobData(url); + } + + /** + * Routes the staging request to the appropriate registered handler. + * + * @param blobName The name of the blob. + * @param payload The payload data to stage. + */ + @Override + public void stageBlob(String blobName, String payload) { + Handlers handlers = blobHandlers.get(blobName); + if (handlers != null) { + handlers.stager.accept(blobName, payload); + } + } + + /** + * Routes the activation request to the appropriate registered handler. + * + * @param blobName The name of the blob to activate. + */ + @Override + public void activateBlob(String blobName) { + Handlers handlers = blobHandlers.get(blobName); + if (handlers != null) { + handlers.activator.accept(blobName); + } + } + + /** + * Synchronizes the module version from the emulator into the device state. + */ + private void updateModuleVersionInState() { + if (moduleEmulator != null) { + if (host.getDeviceState().system.software == null) { + host.getDeviceState().system.software = new HashMap<>(); + } + host.getDeviceState().system.software.put(SOFTWARE_MODULE_KEY, + moduleEmulator.getModuleVersion()); + host.markStateDirty(); + } + } + + // --- Specific Handler Logic --- + + /** + * Validates and prepares a software module update. + */ + private void stagePubberModuleUpdate(String blobName, String payload) { + Map payloadMap; + try { + payloadMap = asMap(payload); + } catch (Exception e) { + throw new BlobParseException("Failed to parse blob payload for " + blobName); + } + if ("incompatible".equals(payloadMap.get("trigger"))) { + throw new BlobIncompatibleException("Simulated incompatibility for " + blobName); + } + moduleEmulator.updateTo(payloadMap); + updateModuleVersionInState(); + } + + /** + * Finalizes the software module update by triggering a system restart. + */ + private void activatePubberModuleUpdate(String blobName) { + host.logEvent(BLOBSET_BLOB_APPLY_RESTART, "Restart required for " + blobName); + host.notice("Post-processing Git OTA update. Restarting..."); + host.getDeviceManager().systemLifecycle(SystemMode.RESTART); + } + + /** + * Internal record to group staging and activation logic for a specific blob type. + * + * @param stager Logic to execute during Phase 1 (Staging). + * @param activator Logic to execute during Phase 2 (Activation). + */ + private record Handlers(BiConsumer stager, Consumer activator) { + + /** + * Compact constructor to ensure activator is never null. + */ + private Handlers(BiConsumer stager, Consumer activator) { + this.stager = stager; + this.activator = activator != null ? activator : (name) -> { }; + } + } +} diff --git a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java index 272fc3d067..51f39cfa8d 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -24,9 +24,11 @@ import com.google.udmi.util.SiteModel; import daq.pubber.impl.PubberFeatures; import daq.pubber.impl.PubberManager; +import daq.pubber.impl.blob.PubberBlobLifecycleHandler; import daq.pubber.impl.manager.PubberDeviceManager; import java.io.File; import java.io.PrintStream; +import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; @@ -36,8 +38,12 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import udmi.lib.base.MqttDevice; +import udmi.lib.blob.intf.BlobLifecycleHandler; import udmi.lib.client.host.PublisherHost; import udmi.lib.client.manager.DeviceManager; +import udmi.schema.BlobBlobsetConfig.BlobPhase; +import udmi.schema.BlobBlobsetState; +import udmi.schema.BlobsetState; import udmi.schema.DevicePersistent; import udmi.schema.EndpointConfiguration; import udmi.schema.Metadata; @@ -53,6 +59,7 @@ public class PubberPublisherHost extends PubberManager implements PublisherHost private PubberDeviceManager deviceManager; private SiteModel siteModel; + private BlobLifecycleHandler blobLifecycleHandler; /** * Start an instance from a configuration file. @@ -80,7 +87,7 @@ public PubberPublisherHost(String iotProject, String sitePath, String deviceId, @Override public void initialize() { EndpointConfiguration.Protocol protocol = requireNonNullElse( - ifNotNullGet(config.endpoint, endpoint -> endpoint.protocol), MQTT); + ifNotNullGet(config.endpoint, endpoint -> endpoint.protocol), MQTT); checkArgument(MQTT.equals(protocol), "Protocol mismatch"); PublisherHost.super.initialize(); } @@ -112,9 +119,15 @@ public void initializeDevice() { config.deviceId, config.serialNo, config.macAddr, config.gatewayId, optionsString(config.options))); + this.blobLifecycleHandler = new PubberBlobLifecycleHandler(this, config.serialNo); markStateDirty(); } + @Override + public BlobLifecycleHandler getBlobLifecycleHandler() { + return blobLifecycleHandler; + } + @Override public void initializePersistentStore() { checkState(persistentData == null, "Persistent data already loaded"); @@ -132,6 +145,21 @@ public void initializePersistentStore() { persistentData.restart_count = requireNonNullElse(persistentData.restart_count, 0) + 1; + if (persistentData.applied_blobs != null) { + if (getDeviceState().blobset == null) { + getDeviceState().blobset = new BlobsetState(); + getDeviceState().blobset.blobs = new HashMap<>(); + } + persistentData.applied_blobs.forEach((key, gen) -> { + BlobBlobsetState bs = new BlobBlobsetState(); + bs.phase = BlobPhase.FINAL; + bs.generation = java.util.Date.from(java.time.Instant.parse(gen)); + getDeviceState().blobset.blobs.put(key, bs); + }); + } else { + persistentData.applied_blobs = new HashMap<>(); + } + // If the persistentData contains endpoint configuration, prioritize using that. // Otherwise, use the endpoint configuration that came from the Pubber config file on start. if (persistentData.endpoint != null) { @@ -235,7 +263,7 @@ public void initializeMqtt() { debug(format("Extracted device password from %s", siteModel.getDeviceKeyFile(config.deviceId))); String targetDeviceId = getTargetDeviceId(siteModel, config.deviceId); CertManager certManager = new CertManager(new File(siteModel.getReflectorDir(), "ca.crt"), - siteModel.getDeviceDir(targetDeviceId), endpoint.transport, keyPassword, this::info); + siteModel.getDeviceDir(targetDeviceId), endpoint.transport, keyPassword, this::info); deviceTarget = new MqttDevice(endpoint, this::publisherException, certManager, isMsTimestamp()); publishDirtyState(); } diff --git a/pubber/src/main/java/udmi/lib/base/UdmiException.java b/pubber/src/main/java/udmi/lib/base/UdmiException.java new file mode 100644 index 0000000000..7fe3fbd1ac --- /dev/null +++ b/pubber/src/main/java/udmi/lib/base/UdmiException.java @@ -0,0 +1,78 @@ +package udmi.lib.base; + +/** + * Container for UDMI-specific exceptions. + */ +public class UdmiException { + + /** + * Exception thrown when a blob cannot be parsed (e.g., invalid JSON format). + */ + public static class BlobParseException extends RuntimeException { + + public BlobParseException(String message) { + super(message); + } + } + + /** + * Exception thrown when there is a hash mismatch during integrity verification. + */ + public static class HashMismatchException extends RuntimeException { + + public HashMismatchException(String message) { + super(message); + } + } + + /** + * Exception thrown when a blob is incompatible with the current hardware or software version. + */ + public static class BlobIncompatibleException extends RuntimeException { + + public BlobIncompatibleException(String message) { + super(message); + } + } + + /** + * Exception thrown when the fetched payload exceeds the device's processing limits. + */ + public static class PayloadTooBigException extends RuntimeException { + + public PayloadTooBigException(String message) { + super(message); + } + } + + /** + * Exception thrown when an error occurs during the application/installation of a blob. + */ + public static class BlobApplyFailureException extends RuntimeException { + + public BlobApplyFailureException(String message) { + super(message); + } + } + + /** + * Exception thrown when a blob update process is explicitly aborted by the system. + */ + public static class BlobAbortException extends RuntimeException { + + public BlobAbortException(String message) { + super(message); + } + } + + /** + * Exception thrown when a system fails to apply a blob and triggers a rollback to the previous + * state. + */ + public static class BlobRollbackException extends RuntimeException { + + public BlobRollbackException(String message) { + super(message); + } + } +} diff --git a/pubber/src/main/java/udmi/lib/blob/BlobFetcherRegistry.java b/pubber/src/main/java/udmi/lib/blob/BlobFetcherRegistry.java new file mode 100644 index 0000000000..63d99b03c0 --- /dev/null +++ b/pubber/src/main/java/udmi/lib/blob/BlobFetcherRegistry.java @@ -0,0 +1,48 @@ +package udmi.lib.blob; + +import java.util.HashMap; +import java.util.Map; +import udmi.lib.blob.intf.BlobFetcher; + +/** + * Registry for blob fetchers based on URL schemes. + */ +public class BlobFetcherRegistry { + + private static final Map REGISTRY = new HashMap<>(); + + static { + // Register default fetchers + registerBlobFetcher("data", new DataUriFetcher()); + } + + /** + * Registers a fetcher for a specific scheme. + */ + public static void registerBlobFetcher(String scheme, BlobFetcher fetcher) { + REGISTRY.put(scheme.toLowerCase(), fetcher); + } + + /** + * Retrieves the appropriate fetcher for a given URL based on its scheme. + */ + public static BlobFetcher getFetcher(String url) { + String scheme = getScheme(url); + BlobFetcher fetcher = REGISTRY.get(scheme); + if (fetcher == null) { + throw new IllegalArgumentException("No fetcher registered for scheme: " + scheme); + } + return fetcher; + } + + private static String getScheme(String url) { + if (url.startsWith("data:")) { + return "data"; + } + int colonIndex = url.indexOf(":"); + if (colonIndex != -1) { + return url.substring(0, colonIndex).toLowerCase(); + } + throw new IllegalArgumentException("Invalid URL format (missing scheme): " + url); + } +} diff --git a/pubber/src/main/java/udmi/lib/blob/DataUriFetcher.java b/pubber/src/main/java/udmi/lib/blob/DataUriFetcher.java new file mode 100644 index 0000000000..1dbed3517a --- /dev/null +++ b/pubber/src/main/java/udmi/lib/blob/DataUriFetcher.java @@ -0,0 +1,27 @@ +package udmi.lib.blob; + +import static java.lang.String.format; +import static udmi.lib.client.host.PublisherHost.DATA_URL_JSON_BASE64; + +import java.util.Base64; +import udmi.lib.base.UdmiException.BlobParseException; +import udmi.lib.blob.intf.BlobFetcher; + + +/** + * Fetcher implementation for data: application/json;base64 URLs. + */ +public class DataUriFetcher implements BlobFetcher { + + @Override + public byte[] fetch(String url) { + if (!url.startsWith(DATA_URL_JSON_BASE64)) { + throw new RuntimeException(format("URL encoding not supported: %s", url)); + } + try { + return Base64.getDecoder().decode(url.substring(DATA_URL_JSON_BASE64.length())); + } catch (IllegalArgumentException e) { + throw new BlobParseException("Failed to decode base64 payload"); + } + } +} diff --git a/pubber/src/main/java/udmi/lib/blob/intf/BlobFetcher.java b/pubber/src/main/java/udmi/lib/blob/intf/BlobFetcher.java new file mode 100644 index 0000000000..5657ed867d --- /dev/null +++ b/pubber/src/main/java/udmi/lib/blob/intf/BlobFetcher.java @@ -0,0 +1,15 @@ +package udmi.lib.blob.intf; + +/** + * Interface for fetching blob data from a given URL. + */ +public interface BlobFetcher { + + /** + * Fetches blob data from the given URL. + * + * @param url The URL to fetch from. + * @return The fetched data as a byte array. + */ + byte[] fetch(String url); +} diff --git a/pubber/src/main/java/udmi/lib/blob/intf/BlobLifecycleHandler.java b/pubber/src/main/java/udmi/lib/blob/intf/BlobLifecycleHandler.java new file mode 100644 index 0000000000..aba417fae8 --- /dev/null +++ b/pubber/src/main/java/udmi/lib/blob/intf/BlobLifecycleHandler.java @@ -0,0 +1,78 @@ +package udmi.lib.blob.intf; + +import static com.google.udmi.util.GeneralUtils.sha256; +import static udmi.lib.blob.BlobFetcherRegistry.getFetcher; + +import udmi.lib.base.UdmiException.HashMismatchException; + +/** + * Defines the lifecycle and handling of BLOB updates on a device. + * + *

Implementations of this interface manage a strict two-phase deployment process + * (staging followed by activation). This ensures that the device can successfully + * publish its updated state to the cloud before executing any disruptive actions, + * such as a system restart. + */ +public interface BlobLifecycleHandler { + + /** + * Fetches the binary data for a blob from the provided endpoint. + * + * @param url The URL from which to download the blob. + * @return The downloaded blob data as a byte array. + */ + default byte[] fetchBlobData(String url) { + return getFetcher(url).fetch(url); + } + + /** + * Verifies the integrity of the downloaded blob against an expected SHA-256 hash. + * + * @param dataBytes The downloaded blob data. + * @param expectedSha256 The expected SHA-256 hash string. + * @throws HashMismatchException if the calculated hash does not match the expected hash. + */ + default void verifyBlobIntegrity(byte[] dataBytes, String expectedSha256) { + String dataSha256 = sha256(dataBytes); + if (!dataSha256.equals(expectedSha256)) { + throw new HashMismatchException("Blob data hash mismatch"); + } + } + + // -- Abstract methods for the specific device implementation -- + + /** + * Determines whether the device application supports handling the specified blob. + * + * @param blobName The name or identifier of the blob. + * @return true if the blob is supported, false otherwise. + */ + boolean isBlobSupported(String blobName); + + /** + * Stages the blob payload on the device without triggering disruptive actions. + * + *

This is Phase 1 of the deployment. Implementations should handle file saving, + * parsing, or preparation here. Crucially, this method must NOT restart the device + * or interrupt core operations. It must exit cleanly so the system can safely + * publish the updated state before proceeding to activation. + * + * @param blobName The name or identifier of the blob. + * @param payload The blob payload data to be staged. + */ + void stageBlob(String blobName, String payload); + + /** + * Activates the staged blob, executing any necessary disruptive actions. + * + *

This is Phase 2 of the deployment and is invoked ONLY after the updated + * device state has been successfully published. Implementations can safely + * perform actions like device restarts, service reloads, or firmware applications + * here without risking state de-synchronization. + * + * @param blobName The name or identifier of the blob to activate. + */ + default void activateBlob(String blobName) { + } + +} \ No newline at end of file diff --git a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java index 2c971655c3..1251739cd0 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -1,6 +1,7 @@ package udmi.lib.client.host; import static com.google.common.base.Preconditions.checkState; +import static com.google.udmi.util.GeneralUtils.catchToElse; import static com.google.udmi.util.GeneralUtils.catchToNull; import static com.google.udmi.util.GeneralUtils.deepCopy; import static com.google.udmi.util.GeneralUtils.fromJsonString; @@ -40,31 +41,46 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; +import java.util.Arrays; import java.util.Base64; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.Lock; +import java.util.stream.Collectors; import org.apache.http.ConnectionClosedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import udmi.lib.base.GatewayError; import udmi.lib.base.MqttDevice; import udmi.lib.base.MqttPublisher; +import udmi.lib.base.UdmiException.BlobAbortException; +import udmi.lib.base.UdmiException.BlobApplyFailureException; +import udmi.lib.base.UdmiException.BlobIncompatibleException; +import udmi.lib.base.UdmiException.BlobParseException; +import udmi.lib.base.UdmiException.BlobRollbackException; +import udmi.lib.base.UdmiException.HashMismatchException; +import udmi.lib.base.UdmiException.PayloadTooBigException; +import udmi.lib.blob.intf.BlobLifecycleHandler; import udmi.lib.client.manager.DeviceManager; import udmi.lib.client.manager.PointsetManager; import udmi.lib.client.manager.SystemManager; import udmi.lib.intf.FamilyProvider; import udmi.lib.intf.ManagerHost; import udmi.schema.BlobBlobsetConfig; +import udmi.schema.BlobBlobsetConfig.BlobPhase; import udmi.schema.BlobBlobsetState; import udmi.schema.BlobsetConfig; +import udmi.schema.BlobsetConfig.SystemBlobsets; import udmi.schema.BlobsetState; import udmi.schema.Category; import udmi.schema.Config; @@ -119,8 +135,113 @@ public interface PublisherHost extends ManagerHost { "events/gateway", "{ \"testing\": \"This is prematurely terminated", "events/mapping", "{ NOT VALID JSON!"); List INVALID_KEYS = new ArrayList<>(INVALID_REPLACEMENTS.keySet()); + Map, String> BLOB_ERROR_CATEGORIES = Map.of( + PayloadTooBigException.class, Category.BLOBSET_BLOB_FETCH_OVERSIZE, + BlobParseException.class, Category.BLOBSET_BLOB_PARSE_INVALID, + HashMismatchException.class, Category.BLOBSET_BLOB_PARSE_CORRUPT, + BlobIncompatibleException.class, Category.BLOBSET_BLOB_PARSE_INCOMPATIBLE, + BlobApplyFailureException.class, Category.BLOBSET_BLOB_APPLY_FAILURE, + BlobAbortException.class, Category.BLOBSET_BLOB_ABORT, + BlobRollbackException.class, Category.BLOBSET_BLOB_ROLLBACK + ); String CORRUPT_STATE_MESSAGE = "!&*@(!*&@!"; + Config getDeviceConfig(); + + BlobLifecycleHandler getBlobLifecycleHandler(); + + /** + * A functional interface similar to {@link java.lang.Runnable}, but designed to allow checked + * exceptions to be thrown. + * + *

This is typically used as a target for lambda expressions or method references + * that contain code prone to throwing exceptions, allowing those exceptions to be safely + * captured, wrapped, or handled by the calling utility. + */ + @FunctionalInterface + interface ThrowingRunnable { + + /** + * Executes the designated action. + * + * @throws Exception if any error occurs during the execution of the action + */ + void run() throws Exception; + } + + /** + * Safely executes an action within the state lock, ensuring it is always unlocked. + */ + default void withStateLock(Runnable action) { + try { + getStateLock().lock(); + action.run(); + } catch (Exception e) { + throw new RuntimeException("While executing locked state action", e); + } finally { + getStateLock().unlock(); + } + } + + /** + * Executes a void action and wraps any thrown exceptions in a RuntimeException. + */ + default void wrapExceptions(String message, ThrowingRunnable action) { + try { + action.run(); + } catch (Exception e) { + throw new RuntimeException(message, e); + } + } + + /** + * Executes an action returning a value and wraps any thrown exceptions in a RuntimeException. + */ + default T wrapExceptions(String message, Callable action) { + try { + return action.call(); + } catch (Exception e) { + throw new RuntimeException(message, e); + } + } + + /** + * Logs an event with a specific category and level. + */ + default void logEvent(String category, String message, Throwable e, String targetId) { + Entry entry; + if (e != null) { + entry = entryFromException(category, e); + } else { + entry = new Entry(); + entry.category = category; + entry.timestamp = getNow(); + entry.message = message; + entry.level = Category.LEVEL.getOrDefault(category, Level.INFO).value(); + } + + String useId = ofNullable(targetId).orElseGet(this::getDeviceId); + + getDeviceManager().localLog(entry); + publishLogMessage(entry, useId); + registerSystemStatus(entry, useId); + } + + default void logEvent(String category, String message, Throwable e) { + logEvent(category, message, e, getDeviceId()); + } + + default void logEvent(String category, String message) { + logEvent(category, message, null, getDeviceId()); + } + + /** + * Returns the configured blobs or an empty map if no blobs are configured. + */ + default HashMap getAllBlobsConfig() { + return catchToElse(() -> getDeviceConfig().blobset.blobs, new HashMap<>()); + } + /** * Acquires and validates blob data from a given URL encoded in Base64 format. */ @@ -136,8 +257,6 @@ static String acquireBlobData(String url, String sha256) { return new String(dataBytes); } - Config getDeviceConfig(); - /** * Extracts the configuration blob with the specified name, if it exists and is in the final * phase. @@ -161,6 +280,151 @@ default String extractConfigBlob(String blobName) { } } + /** + * Iterates through the active config to evaluate all user-defined device blobs, + * intentionally skipping internal system blobs (e.g., _iot_endpoint_config). + * Triggers the update lifecycle for any supported blobs. + */ + default void evaluateAllDeviceBlobs() { + Map allBlobs = getAllBlobsConfig(); + if (allBlobs.isEmpty()) { + return; + } + + Set systemBlobs = Arrays.stream(SystemBlobsets.values()) + .map(SystemBlobsets::value) + .collect(java.util.stream.Collectors.toSet()); + + for (String blobName : allBlobs.keySet()) { + if (systemBlobs.contains(blobName)) { + continue; + } + if (!getBlobLifecycleHandler().isBlobSupported(blobName)) { + warn("Skipping unknown blob name: " + blobName); + continue; + } + evaluateAndDeployBlob(blobName); + } + } + + /** + * Cleans up blobset state and persistence for any user-defined blobs that have been removed + * from the active configuration. + */ + default void cleanupRemovedBlobs() { + if (getDeviceState().blobset == null || getDeviceState().blobset.blobs == null) { + return; + } + Map allBlobs = getAllBlobsConfig(); + Set systemBlobs = Arrays.stream(SystemBlobsets.values()) + .map(SystemBlobsets::value) + .collect(Collectors.toSet()); + + List stateBlobs = new ArrayList<>(getDeviceState().blobset.blobs.keySet()); + for (String blobName : stateBlobs) { + if (!systemBlobs.contains(blobName) && !allBlobs.containsKey(blobName)) { + info("Removing blobset state for removed blob: " + blobName); + removeBlobsetBlobState(blobName); + } + } + } + + /** + * Fetches the binary payload for the specified blob and cryptographically + * verifies its integrity against the SHA-256 hash provided in the configuration. + * + * @return The decoded payload as a UTF-8 String, or null if the blob is not in the FINAL phase. + */ + default String fetchVerifiedBlob(String blobName) { + BlobBlobsetConfig blobBlobsetConfig = getAllBlobsConfig().get(blobName); + if (blobBlobsetConfig != null && FINAL.equals(blobBlobsetConfig.phase)) { + logEvent(Category.BLOBSET_BLOB_FETCH, "Fetch blob data for " + blobName); + byte[] dataBytes = getBlobLifecycleHandler().fetchBlobData(blobBlobsetConfig.url); + getBlobLifecycleHandler().verifyBlobIntegrity(dataBytes, blobBlobsetConfig.sha256); + return new String(dataBytes); + } + return null; + } + + /** + * Evaluates the current state of a specific blob against the target configuration. If an update + * is needed, it transitions the state to APPLY synchronously, then offloads the download and + * deployment to a background thread to avoid locking the device state during network I/O and + * device restarts. + */ + default void evaluateAndDeployBlob(String blobName) { + BlobBlobsetConfig config = getAllBlobsConfig().get(blobName); + if (config == null) { + return; + } + + BlobBlobsetState state = ensureBlobsetState(blobName); + if (config.generation != null && config.generation.equals(state.generation) + && BlobPhase.FINAL.equals(state.phase)) { + info(format("Blob %s generation %s already applied", blobName, config.generation)); + return; + } + + logEvent(Category.BLOBSET_BLOB_RECEIVE, "Received blob update config for " + blobName); + + state.phase = BlobPhase.APPLY; + state.generation = config.generation; + publishSynchronousState(); + + CompletableFuture.runAsync(() -> { + try { + String payload = fetchVerifiedBlob(blobName); + if (payload == null) { + warn(format("Blob %s not ready for fetch", blobName)); + return; + } + orchestrateTwoPhaseDeployment(blobName, config, state, payload); + } catch (Exception e) { + error(format("Failed to apply blob %s", blobName), e); + + withStateLock(() -> { + state.phase = BlobPhase.FINAL; + state.status = exceptionStatus(e, Category.BLOBSET_BLOB_APPLY); + }); + + String category = BLOB_ERROR_CATEGORIES.getOrDefault(e.getClass(), + Category.BLOBSET_BLOB_FETCH_FAILURE); + logEvent(category, "For blob name " + blobName + ":\n", e); + + publishAsynchronousState(); + } + }); + } + + /** + * Orchestrates the strict two-phase blob deployment pipeline: + * 1. Stages the payload safely via the BlobLifecycleHandler. + * 2. Commits the 'FINAL' state and publishes it synchronously to the cloud. + * 3. Persists the new generation to local storage. + * 4. Activates the staged blob (which may involve disruptive actions like a restart). + * + *

This specific order guarantees the cloud is aware of the successful update + * before the device potentially drops its connection during activation. + */ + default void orchestrateTwoPhaseDeployment(String blobName, BlobBlobsetConfig config, + BlobBlobsetState state, String payload) { + logEvent(Category.BLOBSET_BLOB_APPLY, "Staging blob update..."); + getBlobLifecycleHandler().stageBlob(blobName, payload); + + state.phase = BlobPhase.FINAL; + state.status = null; + notice(format("Blob %s successfully staged, publishing final state", blobName)); + publishSynchronousState(); + + persistAppliedBlob(blobName, isoConvert(config.generation)); + + // Explicitly flush logs before operations like restart! + getDeviceManager().getSystemManager().sendSystemEvent(); + + logEvent(Category.BLOBSET_BLOB_APPLY, "Activating blob update..."); + getBlobLifecycleHandler().activateBlob(blobName); + } + default boolean isConnected() { return getDeviceTarget() != null && getDeviceTarget().isActive(); } @@ -499,13 +763,7 @@ default void configPreprocess(String targetId, Config configMsg) { File getOutDir(); private void processConfigUpdate(Config configMsg) { - try { - // Grab this to make state-after-config updates monolithic. - getStateLock().lock(); - } catch (Exception e) { - throw new RuntimeException("While acquiring state lock", e); - } - try { + withStateLock(() -> { updateInterval(DEFAULT_REPORT_SEC); if (configMsg != null) { if (configMsg.system == null && isBarfConfig()) { @@ -517,12 +775,12 @@ private void processConfigUpdate(Config configMsg) { info(format("%s received config %s", getTimestamp(), isoConvert(configMsg.timestamp))); getDeviceManager().updateConfig(configMsg); extractEndpointBlobConfig(); + evaluateAllDeviceBlobs(); + cleanupRemovedBlobs(); } else { info(format("%s defaulting empty config", getTimestamp())); } - } finally { - getStateLock().unlock(); - } + }); } void updateInterval(Integer defaultReportSec); @@ -639,7 +897,7 @@ default EndpointConfiguration extractEndpointBlobConfig() { if (getExtractedEndpoint() != null) { if (getDeviceConfig().blobset.blobs.containsKey(IOT_ENDPOINT_CONFIG.value())) { BlobBlobsetConfig config = getDeviceConfig() - .blobset.blobs.get(IOT_ENDPOINT_CONFIG.value()); + .blobset.blobs.get(IOT_ENDPOINT_CONFIG.value()); getExtractedEndpoint().generation = config.generation; } } @@ -653,15 +911,25 @@ default EndpointConfiguration extractEndpointBlobConfig() { void setExtractedEndpoint(EndpointConfiguration endpointConfiguration); - private void removeBlobsetBlobState(BlobsetConfig.SystemBlobsets blobId) { - if (getDeviceState().blobset == null) { + /** + * Removes a specified blob configuration from the device state and persistent storage records. + * + * @param blobName The unique identifier or name of the blob to remove. + */ + default void removeBlobsetBlobState(String blobName) { + if (getDeviceState().blobset == null || getDeviceState().blobset.blobs == null) { return; } - if (getDeviceState().blobset.blobs.remove(blobId.value()) == null) { + if (getDeviceState().blobset.blobs.remove(blobName) == null) { return; } + if (getPersistentData() != null && getPersistentData().applied_blobs != null) { + getPersistentData().applied_blobs.remove(blobName); + writePersistentStore(); + } + if (getDeviceState().blobset.blobs.isEmpty()) { getDeviceState().blobset = null; } @@ -669,6 +937,10 @@ private void removeBlobsetBlobState(BlobsetConfig.SystemBlobsets blobId) { markStateDirty(); } + private void removeBlobsetBlobState(BlobsetConfig.SystemBlobsets blobId) { + removeBlobsetBlobState(blobId.value()); + } + /** * Attempts to redirect the endpoint based on configuration settings and handles redirection * logic. @@ -769,14 +1041,21 @@ default Entry exceptionStatus(Exception e, String category) { /** * Ensures the {@code blobset} and its {@code blobs} map are initialized in the device state. */ - default BlobBlobsetState ensureBlobsetState(BlobsetConfig.SystemBlobsets iotEndpointConfig) { + default BlobBlobsetState ensureBlobsetState(String blobName) { getDeviceState().blobset = ofNullable(getDeviceState().blobset).orElseGet(BlobsetState::new); getDeviceState().blobset.blobs = ofNullable(getDeviceState().blobset.blobs) .orElseGet(HashMap::new); - return getDeviceState().blobset.blobs.computeIfAbsent(iotEndpointConfig.value(), + return getDeviceState().blobset.blobs.computeIfAbsent(blobName, key -> new BlobBlobsetState()); } + /** + * Ensures the {@code blobset} and its {@code blobs} map are initialized in the device state. + */ + default BlobBlobsetState ensureBlobsetState(BlobsetConfig.SystemBlobsets iotEndpointConfig) { + return ensureBlobsetState(iotEndpointConfig.value()); + } + private String getClientId(String forRegistry) { String cloudRegion = SiteModel.parseClientId(getEndpoint().client_id).cloudRegion; return SiteModel.getClientId(getIotProject(), cloudRegion, forRegistry, getDeviceId()); @@ -814,14 +1093,7 @@ default void publishAsynchronousState() { * ensure thread safety, and handles exceptions by wrapping them in a RuntimeException. */ default void publishSynchronousState() { - try { - getStateLock().lock(); - publishStateMessage(); - } catch (Exception e) { - throw new RuntimeException("While sending synchronous state", e); - } finally { - getStateLock().unlock(); - } + withStateLock(this::publishStateMessage); } /** @@ -846,12 +1118,7 @@ default void publishStateMessage() { * @param stateToSend The state object to be published. */ default void publishStateMessage(Object stateToSend) { - try { - getStateLock().lock(); - publishStateMessageRaw(stateToSend); - } finally { - getStateLock().unlock(); - } + withStateLock(() -> publishStateMessageRaw(stateToSend)); } AtomicBoolean getStateDirty(); @@ -1054,6 +1321,15 @@ default void persistEndpoint(EndpointConfiguration endpoint) { writePersistentStore(); } + /** + * Persist active generation for a blob. + */ + default void persistAppliedBlob(String blobName, String generation) { + notice("Persisting generation " + generation + " for blob name " + blobName); + getPersistentData().applied_blobs.put(blobName, generation); + writePersistentStore(); + } + /** * Configures a wait time for the configuration latch and waits until it is acquired. * diff --git a/schema/category.json b/schema/category.json index 75fb22ec83..e471c237e3 100644 --- a/schema/category.json +++ b/schema/category.json @@ -28,9 +28,22 @@ { "pattern": "^discovery\\.device\\.enumerate$" }, { "pattern": "^discovery\\.point\\.describe$" }, { "pattern": "^mapping\\.device\\.apply$" }, + { "pattern": "^blobset\\.blob$" }, + { "pattern": "^blobset\\.blob\\.update$" }, { "pattern": "^blobset\\.blob\\.receive$" }, { "pattern": "^blobset\\.blob\\.fetch$" }, + { "pattern": "^blobset\\.blob\\.fetch\\.oversize$" }, + { "pattern": "^blobset\\.blob\\.fetch\\.failure$" }, + { "pattern": "^blobset\\.blob\\.parse$" }, + { "pattern": "^blobset\\.blob\\.parse\\.corrupt$" }, + { "pattern": "^blobset\\.blob\\.parse\\.invalid$" }, + { "pattern": "^blobset\\.blob\\.parse\\.incompatible$" }, { "pattern": "^blobset\\.blob\\.apply$" }, + { "pattern": "^blobset\\.blob\\.apply\\.failure$" }, + { "pattern": "^blobset\\.blob\\.apply\\.dependency$" }, + { "pattern": "^blobset\\.blob\\.apply\\.restart$" }, + { "pattern": "^blobset\\.blob\\.abort$" }, + { "pattern": "^blobset\\.blob\\.rollback$" }, { "pattern": "^validation\\.device\\.receive$" }, { "pattern": "^validation\\.device\\.schema$" }, { "pattern": "^validation\\.device\\.content$" }, diff --git a/schema/model_testing.json b/schema/model_testing.json index 71d1a11ed8..f2696ab9a9 100644 --- a/schema/model_testing.json +++ b/schema/model_testing.json @@ -17,6 +17,15 @@ "$ref": "file:model_testing_target.json#" } } + }, + "blob_update_targets": { + "additionalProperties": false, + "existingJavaType": "java.util.HashMap", + "patternProperties": { + "^[a-z][a-z0-9]*(_[a-z0-9]+)*$": { + "$ref": "file:model_testing_update.json#" + } + } } } } diff --git a/schema/model_testing_update.json b/schema/model_testing_update.json new file mode 100644 index 0000000000..a7e1101b0b --- /dev/null +++ b/schema/model_testing_update.json @@ -0,0 +1,25 @@ +{ + "$udmi_version": "1.5.2", + "title": "Blob Update Testing Model", + "type": "object", + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "properties": { + "blob_name": { + "description": "Blob name for the payload", + "type": "string" + }, + "url": { + "description": "URL for OTA update", + "type": "string" + }, + "sha256": { + "description": "SHA256 hash of the payload", + "type": "string" + }, + "version": { + "description": "Expected software version", + "type": "string" + } + } +} diff --git a/schema/persistent_device.json b/schema/persistent_device.json index 95ef9bb205..61ed9cd4ef 100644 --- a/schema/persistent_device.json +++ b/schema/persistent_device.json @@ -9,6 +9,10 @@ }, "restart_count": { "type": "integer" + }, + "applied_blobs": { + "type": "object", + "existingJavaType": "java.util.HashMap" } } } diff --git a/tests/schemas/events_system/categories.out b/tests/schemas/events_system/categories.out index 182878a8e6..720d68a6c8 100644 --- a/tests/schemas/events_system/categories.out +++ b/tests/schemas/events_system/categories.out @@ -1,7 +1,7 @@ 6 schema violations found - /logentries/3/category: instance failed to match exactly one schema (matched 0 out of 37) - /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 37) - /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 37) - /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 37) - /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 37) - /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 37) + /logentries/3/category: instance failed to match exactly one schema (matched 0 out of 50) + /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 50) + /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 50) + /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 50) + /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 50) + /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 50) diff --git a/tests/schemas/events_system/errors.out b/tests/schemas/events_system/errors.out index 96ea55c516..6e7e5c3c9b 100644 --- a/tests/schemas/events_system/errors.out +++ b/tests/schemas/events_system/errors.out @@ -1,5 +1,5 @@ 4 schema violations found - /logentries/0/category: instance failed to match exactly one schema (matched 0 out of 37) + /logentries/0/category: instance failed to match exactly one schema (matched 0 out of 50) /logentries/0/level: numeric instance is lower than the required minimum (minimum: 100, found: 60) /logentries/0: object has missing required properties (["message","timestamp"]) /logentries/1: instance type (string) does not match any allowed primitive type (allowed: ["object"]) diff --git a/validator/sequences/blob_update_idempotency/config_blobset.attr b/validator/sequences/blob_update_idempotency/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_blobset.json b/validator/sequences/blob_update_idempotency/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_discovery.attr b/validator/sequences/blob_update_idempotency/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_discovery.json b/validator/sequences/blob_update_idempotency/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_localnet.attr b/validator/sequences/blob_update_idempotency/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_localnet.json b/validator/sequences/blob_update_idempotency/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_pointset.attr b/validator/sequences/blob_update_idempotency/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_pointset.json b/validator/sequences/blob_update_idempotency/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_system.attr b/validator/sequences/blob_update_idempotency/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_system.json b/validator/sequences/blob_update_idempotency/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_update.attr b/validator/sequences/blob_update_idempotency/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/config_update.json b/validator/sequences/blob_update_idempotency/config_update.json new file mode 100644 index 0000000000..d1c13c3d01 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_idempotency" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ2ZXJzaW9uIjoidjIifQ==", + "sha256" : "@@@blob data hash###0923c04472e891c960e0339a6c2ffaa1228be79ee8da8171380cc4b4a66e7c37", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/device_system.log b/validator/sequences/blob_update_idempotency/device_system.log new file mode 100644 index 0000000000..81b03c2a60 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/device_system.log @@ -0,0 +1,415 @@ +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP NOTICE device.log Mock module update completed successfully. +TIMESTAMP NOTICE device.log Blob pubber_module successfully staged, publishing final state +TIMESTAMP DEBUG device.log State update defer 1984ms +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1983ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP for blob name pubber_module +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Initializing from persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log Loading endpoint from persistent data +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 2, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1777899322476 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Connection complete. +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1777899322476 with 1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP DEBUG device.log Restoring unknown point filter_alarm_pressure_status +TIMESTAMP DEBUG device.log Restoring unknown point filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log Restoring unknown point filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log Applying slow writeback for point filter_alarm_pressure_status with 10s delay +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log Applying slow writeback for point filter_differential_pressure_setpoint with 10s delay +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log Applying slow writeback for point filter_differential_pressure_sensor with 10s delay +TIMESTAMP INFO device.log Blob pubber_module generation Mon May 04 12:55:08 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer -1777899321437ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1868ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP INFO device.log Blob pubber_module generation Mon May 04 12:55:08 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1859ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP INFO device.log sending AHU-1 message #0 with 3 points +TIMESTAMP INFO device.log Completing delayed writeback for filter_alarm_pressure_status +TIMESTAMP DEBUG device.log setting value state as null +TIMESTAMP INFO device.log Completing delayed writeback for filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log setting value state as 98 +TIMESTAMP INFO device.log Completing delayed writeback for filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log setting value state as null +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer -6172ms +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1852ms +TIMESTAMP DEBUG device.log State update defer 1851ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1848ms +TIMESTAMP DEBUG device.log State update defer 1847ms +TIMESTAMP DEBUG device.log State update defer 1847ms +TIMESTAMP DEBUG device.log State update defer 1847ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -133ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1040ms +TIMESTAMP +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1458ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1351ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1770ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1769ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1765ms +TIMESTAMP DEBUG device.log State update defer 1765ms +TIMESTAMP DEBUG device.log State update defer 1764ms +TIMESTAMP DEBUG device.log State update defer 1764ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 894ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 890ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 662ms +TIMESTAMP DEBUG device.log State update defer 661ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 659ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1578ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1577ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1572ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP NOTICE blobset.blob.apply Staging blob update... +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP INFO device.log Updating pubber module to: v2 +TIMESTAMP DEBUG device.log State update defer 834ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE device.log Mock module update completed successfully. +TIMESTAMP NOTICE device.log Blob pubber_module successfully staged, publishing final state +TIMESTAMP DEBUG device.log State update defer 1985ms +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1983ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP for blob name pubber_module +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 2, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Loading endpoint from persistent data +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 3, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1777899359909 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Connection complete. +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1777899359909 with 1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP DEBUG device.log Restoring unknown point filter_alarm_pressure_status +TIMESTAMP DEBUG device.log Restoring unknown point filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log Restoring unknown point filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log Applying slow writeback for point filter_alarm_pressure_status with 10s delay +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log Applying slow writeback for point filter_differential_pressure_setpoint with 10s delay +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log Applying slow writeback for point filter_differential_pressure_sensor with 10s delay +TIMESTAMP INFO device.log Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer -1777899358822ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1872ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1871ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP INFO device.log Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1864ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP INFO device.log sending AHU-1 message #0 with 3 points +TIMESTAMP INFO device.log Completing delayed writeback for filter_alarm_pressure_status +TIMESTAMP DEBUG device.log setting value state as null +TIMESTAMP INFO device.log Completing delayed writeback for filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log setting value state as 98 +TIMESTAMP INFO device.log Completing delayed writeback for filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log setting value state as null +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -10217ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP INFO device.log Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_idempotency/events_pointset.attr b/validator/sequences/blob_update_idempotency/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_idempotency/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/events_pointset.json b/validator/sequences/blob_update_idempotency/events_pointset.json new file mode 100644 index 0000000000..328425c980 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : true + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 9 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/events_system.attr b/validator/sequences/blob_update_idempotency/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/events_system.json b/validator/sequences/blob_update_idempotency/events_system.json new file mode 100644 index 0000000000..f8bfd68f23 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/events_system.json @@ -0,0 +1,11 @@ +{ + "event_no" : 5, + "last_config" : "TIMESTAMP", + "logentries" : [ ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 80.04035949707031 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/local_blobset.json b/validator/sequences/blob_update_idempotency/local_blobset.json new file mode 100644 index 0000000000..8271ec1792 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ2ZXJzaW9uIjoidjIifQ==", + "sha256" : "@@@blob data hash###0923c04472e891c960e0339a6c2ffaa1228be79ee8da8171380cc4b4a66e7c37", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/local_discovery.json b/validator/sequences/blob_update_idempotency/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_idempotency/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/local_localnet.json b/validator/sequences/blob_update_idempotency/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/local_pointset.json b/validator/sequences/blob_update_idempotency/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/local_system.json b/validator/sequences/blob_update_idempotency/local_system.json new file mode 100644 index 0000000000..7442db6f3d --- /dev/null +++ b/validator/sequences/blob_update_idempotency/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_idempotency" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/local_update.json b/validator/sequences/blob_update_idempotency/local_update.json new file mode 100644 index 0000000000..ac4e7cec27 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_idempotency" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/sequence.log b/validator/sequences/blob_update_idempotency/sequence.log new file mode 100644 index 0000000000..94e7d77b2a --- /dev/null +++ b/validator/sequences/blob_update_idempotency/sequence.log @@ -0,0 +1,3240 @@ +TIMESTAMP NOTICE Starting test blob_update_idempotency ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:80) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$48(SequenceBase.java:1408) +TIMESTAMP is -6020ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:32189b.00000010 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:6d420483 +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP NOTICE device.log: Mock module update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully staged, publishing final state +TIMESTAMP DEBUG device.log: State update defer 1984ms +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1983ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP for blob name pubber_module +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP DEBUG Handling device message events_system MP:6d420483 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:32090079-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v2" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Staging blob update...", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:32090079-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:32090079-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:32090079-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:32090079-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:32090079-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:32090079-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:32090079-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:32090079-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:32090079-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:87049802 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:87049802 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:87049802 +TIMESTAMP INFO Updated state #013: Changed 5 fields: +TIMESTAMP INFO Updated state #013: Set `system.operation.mode` = `restart` +TIMESTAMP INFO Updated state #013: Set `system.status.message` = `Restart required for pubber_module` +TIMESTAMP INFO Updated state #013: Set `system.status.category` = `blobset.blob.apply.restart` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP NOTICE Received serial number sequencer-23930 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:87049802-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "restart" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v2" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Restart required for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.apply.restart", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:87049802-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:87049802-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:87049802-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:87049802-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:87049802-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:87049802-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:87049802-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:87049802-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:87049802-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:467b2e19 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:467b2e19 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:467b2e19 +TIMESTAMP INFO Updated state #014: Changed 10 fields: +TIMESTAMP INFO Updated state #014: Set `system.operation.mode` = `initial` +TIMESTAMP INFO Updated state #014: Set `system.operation.restart_count` = `2` +TIMESTAMP` +TIMESTAMP INFO Updated state #014: Set `system.status.message` = `success` +TIMESTAMP INFO Updated state #014: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP INFO Updated state #014: Add `pointset.points.filter_alarm_pressure_status.value_state` = `updating` +TIMESTAMP INFO Updated state #014: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `updating` +TIMESTAMP INFO Updated state #014: Add `pointset.points.filter_differential_pressure_sensor.value_state` = `updating` +TIMESTAMP` +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:467b2e19-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:467b2e19-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:467b2e19-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:467b2e19-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:467b2e19-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:467b2e19-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:467b2e19-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:467b2e19-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:467b2e19-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units", +TIMESTAMP TRACE Received state_pointset: "value_state" : "updating" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "updating" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius", +TIMESTAMP TRACE Received state_pointset: "value_state" : "updating" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:467b2e19-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:467b2e19 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:467b2e19 +TIMESTAMP +TIMESTAMP MP:467b2e19 +TIMESTAMP INFO Updated config #010: Changed 2 fields: +TIMESTAMP INFO Updated config #010: Set `system.testing.sequence_name` = `blob_update_idempotency` +TIMESTAMP INFO Updated config #010: Remove `blobset` +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:7cc538d5 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:7cc538d5 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:7cc538d5 +TIMESTAMP INFO Updated state #015: Changed 4 fields: +TIMESTAMP INFO Updated state #015: Remove `pointset.points.filter_alarm_pressure_status.value_state` +TIMESTAMP INFO Updated state #015: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `applied` +TIMESTAMP INFO Updated state #015: Remove `pointset.points.filter_differential_pressure_sensor.value_state` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:7cc538d5-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:7cc538d5-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:7cc538d5-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:7cc538d5-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:7cc538d5-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:7cc538d5-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:7cc538d5-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:7cc538d5-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:7cc538d5-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:7cc538d5-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:32189b.0000000e +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:32189b.0000000e +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:32189b.0000000f +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:32189b.0000000f +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:65cb83ef +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : false +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 11 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:65cb83ef +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:539fb374 +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Initializing from persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log: Loading endpoint from persistent data +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 2, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899322476 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1777899322476 with 1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP DEBUG device.log: Restoring unknown point filter_alarm_pressure_status +TIMESTAMP DEBUG device.log: Restoring unknown point filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log: Restoring unknown point filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_alarm_pressure_status with 10s delay +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_differential_pressure_setpoint with 10s delay +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_differential_pressure_sensor with 10s delay +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:08 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer -1777899321437ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1868ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:08 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1859ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG Handling device message events_system MP:539fb374 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:4aea620a +TIMESTAMP INFO device.log: sending AHU-1 message #0 with 3 points +TIMESTAMP DEBUG Handling device message events_system MP:4aea620a +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000010 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000010 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000010 +TIMESTAMP +TIMESTAMP RC:32189b.00000010 +TIMESTAMP INFO Updated config #011: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:4b14d816 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:4b14d816 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:4b14d816 +TIMESTAMP INFO Updated state #016: Changed 4 fields: +TIMESTAMP INFO Updated state #016: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #016: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:32189b.00000010 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:32189b.00000010 +TIMESTAMP DEBUG Ignoring operation reply CU:32189b.00000010 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:4b14d816-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:4b14d816-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:4b14d816-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:4b14d816-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:4b14d816-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:4b14d816-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:4b14d816-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:4b14d816-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:4b14d816-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:4b14d816-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:4b14d816 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:4b14d816 +TIMESTAMP +TIMESTAMP MP:4b14d816 +TIMESTAMP INFO Updated config #012: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:60b78d79 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:60b78d79 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:60b78d79 +TIMESTAMP INFO Updated state #017: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #017: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #017: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:60b78d79-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:60b78d79-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:60b78d79-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:60b78d79-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1735ms +TIMESTAMP DEBUG Rate-limiting config by 1735ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:32189b.00000011 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:60b78d79-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:60b78d79-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:60b78d79-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:60b78d79-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:60b78d79-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:60b78d79-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000011 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000011 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000011 +TIMESTAMP +TIMESTAMP RC:32189b.00000011 +TIMESTAMP INFO Updated config #013: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a5318b0c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a5318b0c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a5318b0c +TIMESTAMP INFO Updated state #018: Changed 4 fields: +TIMESTAMP INFO Updated state #018: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #018: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:32189b.00000011 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:32189b.00000011 +TIMESTAMP DEBUG Ignoring operation reply CU:32189b.00000011 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a5318b0c-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:a5318b0c-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a5318b0c-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:a5318b0c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a5318b0c-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:a5318b0c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:a5318b0c-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:a5318b0c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a5318b0c-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:a5318b0c-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6203d184 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6203d184 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6203d184 +TIMESTAMP INFO Updated state #019: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #019: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #019: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:6203d184-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:6203d184-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:32189b.00000012 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:6203d184-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:6203d184-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6203d184-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:6203d184-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:6203d184-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:6203d184-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6203d184-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:6203d184-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:32189b.00000012 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:32189b.00000012 +TIMESTAMP DEBUG Removed stateTransaction RC:32189b.00000012 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:32189b.00000012 +TIMESTAMP INFO Updated state #020: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 981ms +TIMESTAMP DEBUG Rate-limiting config by 981ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:32189b.00000013 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:32189b.00000012 +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b5fd58d3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b5fd58d3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b5fd58d3 +TIMESTAMP INFO Updated state #021: Changed 4 fields: +TIMESTAMP INFO Updated state #021: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #021: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000013 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000013 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000013 +TIMESTAMP +TIMESTAMP RC:32189b.00000013 +TIMESTAMP INFO Updated config #014: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:32189b.00000013 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:32189b.00000013 +TIMESTAMP DEBUG Ignoring operation reply CU:32189b.00000013 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b5fd58d3-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:b5fd58d3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b5fd58d3-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:b5fd58d3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b5fd58d3-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:b5fd58d3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:b5fd58d3-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:b5fd58d3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b5fd58d3-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:b5fd58d3-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:16049dcb +TIMESTAMP INFO device.log: Completing delayed writeback for filter_alarm_pressure_status +TIMESTAMP DEBUG device.log: setting value state as null +TIMESTAMP INFO device.log: Completing delayed writeback for filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log: setting value state as 98 +TIMESTAMP INFO device.log: Completing delayed writeback for filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log: setting value state as null +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer -6172ms +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1852ms +TIMESTAMP DEBUG device.log: State update defer 1851ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1848ms +TIMESTAMP DEBUG device.log: State update defer 1847ms +TIMESTAMP DEBUG device.log: State update defer 1847ms +TIMESTAMP DEBUG device.log: State update defer 1847ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -133ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log: State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1040ms +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1458ms +TIMESTAMP DEBUG Handling device message events_system MP:16049dcb +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:95a6125d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:95a6125d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:95a6125d +TIMESTAMP INFO Updated state #022: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #022: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #022: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:95a6125d-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:95a6125d-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:95a6125d-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:95a6125d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1993ms +TIMESTAMP DEBUG Rate-limiting config by 1993ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:32189b.00000015 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:32189b.00000016 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:32189b.00000017 +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:32189b.00000018 +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:32189b.00000019 +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:95a6125d-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:95a6125d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:95a6125d-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:95a6125d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:95a6125d-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:95a6125d-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:52b968d3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:52b968d3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:52b968d3 +TIMESTAMP INFO Updated state #023: Changed 4 fields: +TIMESTAMP INFO Updated state #023: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #023: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000015 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000015 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000015 +TIMESTAMP +TIMESTAMP RC:32189b.00000015 +TIMESTAMP INFO Updated config #015: Changed 1 fields: +TIMESTAMP INFO Updated config #015: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:32189b.00000015 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:32189b.00000015 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000015 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:52b968d3-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:52b968d3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:52b968d3-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:52b968d3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:52b968d3-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:52b968d3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:52b968d3-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:52b968d3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:52b968d3-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:52b968d3-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000019 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000019 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000019 +TIMESTAMP +TIMESTAMP RC:32189b.00000019 +TIMESTAMP INFO Updated config #016: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:32189b.00000019 +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:32189b.00000019 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000019 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000016 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000016 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000016 +TIMESTAMP +TIMESTAMP RC:32189b.00000016 +TIMESTAMP INFO Updated config #017: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:32189b.00000016 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:32189b.00000016 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000016 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000017 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000017 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000017 +TIMESTAMP +TIMESTAMP RC:32189b.00000017 +TIMESTAMP INFO Updated config #018: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:32189b.00000017 +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:32189b.00000017 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000017 +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:1b41bf2d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:1b41bf2d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:1b41bf2d +TIMESTAMP INFO Updated state #024: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #024: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #024: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:1b41bf2d-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:1b41bf2d-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:1b41bf2d-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:1b41bf2d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:1b41bf2d-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:1b41bf2d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:1b41bf2d-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:1b41bf2d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:1b41bf2d-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:1b41bf2d-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000018 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000018 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000018 +TIMESTAMP +TIMESTAMP RC:32189b.00000018 +TIMESTAMP INFO Updated config #019: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:32189b.00000018 +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:32189b.00000018 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000018 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6b6f8b64 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6b6f8b64 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6b6f8b64 +TIMESTAMP INFO Updated state #025: Changed 8 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #025: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #025: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #025: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP INFO Updated state #025: Set `blobset.blobs.pubber_module.phase` = `apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:6b6f8b64-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:6b6f8b64-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1909ms +TIMESTAMP DEBUG Rate-limiting config by 1909ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1999ms +TIMESTAMP DEBUG Rate-limiting config by 1999ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:6b6f8b64-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:6b6f8b64-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6b6f8b64-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:6b6f8b64-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:6b6f8b64-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:6b6f8b64-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6b6f8b64-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:6b6f8b64-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:7246f854 +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1351ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1770ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1769ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1765ms +TIMESTAMP DEBUG device.log: State update defer 1765ms +TIMESTAMP DEBUG device.log: State update defer 1764ms +TIMESTAMP DEBUG device.log: State update defer 1764ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 894ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 890ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 662ms +TIMESTAMP DEBUG device.log: State update defer 661ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 659ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1578ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1577ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1572ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP INFO device.log: Updating pubber module to: v2 +TIMESTAMP DEBUG device.log: State update defer 834ms +TIMESTAMP DEBUG Handling device message events_system MP:7246f854 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:dd0fb3b9 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:dd0fb3b9 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:dd0fb3b9 +TIMESTAMP INFO Updated state #026: Changed 5 fields: +TIMESTAMP INFO Updated state #026: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #026: Set `system.status.message` = `Staging blob update...` +TIMESTAMP INFO Updated state #026: Set `system.status.category` = `blobset.blob.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:dd0fb3b9-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Staging blob update...", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:dd0fb3b9-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:dd0fb3b9-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:dd0fb3b9-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:dd0fb3b9-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:dd0fb3b9-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:dd0fb3b9-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:dd0fb3b9-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:dd0fb3b9-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:dd0fb3b9-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:91911d61 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:91911d61 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:91911d61 +TIMESTAMP INFO Updated state #027: Changed 2 fields: +TIMESTAMP INFO Updated state #027: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1913ms +TIMESTAMP DEBUG Rate-limiting config by 1913ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1996ms +TIMESTAMP DEBUG Rate-limiting config by 1996ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `NOTICE` category `blobset.blob.apply` at @35s +TIMESTAMP is 1997ms +TIMESTAMP DEBUG Rate-limiting config by 1997ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +TIMESTAMP DEBUG Stage finished waiting for system logs level `NOTICE` category `blobset.blob.apply` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state is success +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module software version reflects update +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Stage suspend waiting for executing test at @39s +TIMESTAMP INFO Stage start waiting for sleeping 10s for waiting for device to process update at @39s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:f474abdb +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE device.log: Mock module update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully staged, publishing final state +TIMESTAMP DEBUG device.log: State update defer 1985ms +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1983ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP for blob name pubber_module +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 2, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP DEBUG Handling device message events_system MP:f474abdb +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:91911d61-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v2" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Staging blob update...", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:91911d61-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:91911d61-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:91911d61-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:91911d61-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:91911d61-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:91911d61-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:91911d61-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:91911d61-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:91911d61-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:cb5ecdbf +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:cb5ecdbf +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:cb5ecdbf +TIMESTAMP INFO Updated state #028: Changed 5 fields: +TIMESTAMP INFO Updated state #028: Set `system.operation.mode` = `restart` +TIMESTAMP INFO Updated state #028: Set `system.status.message` = `Restart required for pubber_module` +TIMESTAMP INFO Updated state #028: Set `system.status.category` = `blobset.blob.apply.restart` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:cb5ecdbf-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 2, +TIMESTAMP TRACE Received state_system: "mode" : "restart" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v2" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Restart required for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.apply.restart", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:cb5ecdbf-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:cb5ecdbf-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:cb5ecdbf-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:cb5ecdbf-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:cb5ecdbf-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:cb5ecdbf-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:cb5ecdbf-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:cb5ecdbf-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:cb5ecdbf-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d0610eb9 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d0610eb9 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d0610eb9 +TIMESTAMP INFO Updated state #029: Changed 10 fields: +TIMESTAMP INFO Updated state #029: Set `system.operation.mode` = `initial` +TIMESTAMP INFO Updated state #029: Set `system.operation.restart_count` = `3` +TIMESTAMP` +TIMESTAMP INFO Updated state #029: Set `system.status.message` = `success` +TIMESTAMP INFO Updated state #029: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP INFO Updated state #029: Add `pointset.points.filter_alarm_pressure_status.value_state` = `updating` +TIMESTAMP INFO Updated state #029: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `updating` +TIMESTAMP INFO Updated state #029: Add `pointset.points.filter_differential_pressure_sensor.value_state` = `updating` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:d0610eb9-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 3, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:d0610eb9-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d0610eb9-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:d0610eb9-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d0610eb9-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:d0610eb9-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:d0610eb9-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:d0610eb9-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d0610eb9-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units", +TIMESTAMP TRACE Received state_pointset: "value_state" : "updating" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "updating" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius", +TIMESTAMP TRACE Received state_pointset: "value_state" : "updating" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:d0610eb9-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:d0610eb9 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:d0610eb9 +TIMESTAMP +TIMESTAMP MP:d0610eb9 +TIMESTAMP INFO Updated config #020: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ef551e0b +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ef551e0b +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ef551e0b +TIMESTAMP INFO Updated state #030: Changed 4 fields: +TIMESTAMP INFO Updated state #030: Remove `pointset.points.filter_alarm_pressure_status.value_state` +TIMESTAMP INFO Updated state #030: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `applied` +TIMESTAMP INFO Updated state #030: Remove `pointset.points.filter_differential_pressure_sensor.value_state` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:ef551e0b-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 3, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:ef551e0b-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ef551e0b-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:ef551e0b-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ef551e0b-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:ef551e0b-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:ef551e0b-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:ef551e0b-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ef551e0b-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:ef551e0b-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:406d12b4 +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : true +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 9 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:406d12b4 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:f207c80c +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Loading endpoint from persistent data +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 3, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899359909 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1777899359909 with 1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP DEBUG device.log: Restoring unknown point filter_alarm_pressure_status +TIMESTAMP DEBUG device.log: Restoring unknown point filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log: Restoring unknown point filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_alarm_pressure_status with 10s delay +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_differential_pressure_setpoint with 10s delay +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_differential_pressure_sensor with 10s delay +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer -1777899358822ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1872ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1871ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1864ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG Handling device message events_system MP:f207c80c +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:c3765435 +TIMESTAMP INFO device.log: sending AHU-1 message #0 with 3 points +TIMESTAMP DEBUG Handling device message events_system MP:c3765435 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Detail sleeping 10s for waiting for device to process update is now: null +TIMESTAMP DEBUG Stage finished waiting for sleeping 10s for waiting for device to process update at @49s after 10s +TIMESTAMP TRACE Stage resume waiting for executing test at @49s +TIMESTAMP TRACE Stage suspend waiting for executing test at @49s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @49s +TIMESTAMP is -6084ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:32189b.0000001a +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP, because before pubber_module phase is FINAL +TIMESTAMP TRACE Stage suspend waiting for pubber_module phase is FINAL at @49s +TIMESTAMP INFO Stage start waiting for config update synchronized at @49s +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:15fb5f1a +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:15fb5f1a +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:15fb5f1a +TIMESTAMP INFO Updated state #031: Changed 4 fields: +TIMESTAMP INFO Updated state #031: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #031: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.0000001a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.0000001a +TIMESTAMP DEBUG Removed configTransaction RC:32189b.0000001a +TIMESTAMP +TIMESTAMP RC:32189b.0000001a +TIMESTAMP INFO Updated config #021: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:32189b.0000001a +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:32189b.0000001a +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.0000001a +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:15fb5f1a-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 3, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:15fb5f1a-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:15fb5f1a-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:15fb5f1a-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:15fb5f1a-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:15fb5f1a-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:15fb5f1a-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:15fb5f1a-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:15fb5f1a-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:15fb5f1a-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:35986490 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:35986490 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:35986490 +TIMESTAMP INFO Updated state #032: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #032: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #032: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @52s after 3s +TIMESTAMP TRACE Stage resume waiting for pubber_module phase is FINAL at @52s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @52s after 3s +TIMESTAMP TRACE Stage resume waiting for executing test at @52s +TIMESTAMP TRACE Stage suspend waiting for executing test at @52s +TIMESTAMP INFO Stage start waiting for last_config synchronized at @52s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for last_config synchronized at @54s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @54s +TIMESTAMP for logs to arrive... +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:35986490-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 3, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:35986490-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:35986490-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:35986490-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:35986490-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:35986490-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:35986490-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:35986490-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:35986490-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:35986490-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:9dcf38f4 +TIMESTAMP INFO device.log: Completing delayed writeback for filter_alarm_pressure_status +TIMESTAMP DEBUG device.log: setting value state as null +TIMESTAMP INFO device.log: Completing delayed writeback for filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log: setting value state as 98 +TIMESTAMP INFO device.log: Completing delayed writeback for filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log: setting value state as null +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -10217ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG Handling device message events_system MP:9dcf38f4 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP WARNING Missing system events 5 -> 1 +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1351ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1770ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1769ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1765ms +TIMESTAMP DEBUG device.log: State update defer 1765ms +TIMESTAMP DEBUG device.log: State update defer 1764ms +TIMESTAMP DEBUG device.log: State update defer 1764ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 894ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 890ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 662ms +TIMESTAMP DEBUG device.log: State update defer 661ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 659ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1578ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1577ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1572ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP INFO device.log: Updating pubber module to: v2 +TIMESTAMP DEBUG device.log: State update defer 834ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP NOTICE device.log: Mock module update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully staged, publishing final state +TIMESTAMP DEBUG device.log: State update defer 1985ms +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1983ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP for blob name pubber_module +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 2, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Loading endpoint from persistent data +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "gatewayId" : "AHU-1", + "deviceId" : "AHU-1", + "keyBytes" : "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lpjWPAlZrfJDLkMqiYupiO5N5R6RLU5JnFUWvlFyWCxYkFOmH7szJ+n10JWlgJHpqbjJxFZrKn0OqaFI/qr0HhUhQONX88G4u+qt8vleFVlTIw1yDVaV6F92xlYvMblfmAZ8auLsuq+ZgjPd4fPLGRRXm3SxGG5kWTnBPY+sPsxa2MAh8QmYDp1nmj8mLHdsXjAyy8UEr1cNEeJtxLuj/eHD/UUAEv4GDDgvjUK2vNEtgqaZFO+whPyNe5S6m2x/7nxv0DWRZaxXQAgqNonvd+H6JHxMF7kUNzwzBKCOCimFhcFUKDOUg6RfuDAiIBhBZtY4VT2W3MgyCnsmx1G/AgMBAAECggEBAIMnCTfsCpcvD5bRgCEGlBhvhWYPNHC9F7GqJhfHki64pJOxhg68qUrzvZmOF1zT1BVS2TnnpXyLuZFchAPCVIw3I11F1OzSbk4c6ssXeCkZUeXXKkqBCUORrBgFNou1kRZKfLQjrdMwSOS/Z8fZ1LW/pXMAJFY2NMlTaV4kafkh8R4Q0GuWPgJDgbG2JfyGpeDZ7tUIyKP8TFB8USW3Iroetdtsc5yLF1wPVpMxy87ZEUKsTl3zK5CHcBlLHnVhDSCFOlHLknrSUEF7AVmKeRAlq+aDzAaxhAHbM7h9pVLT3HoZJbIhqqFBNvAze9AD3u08833miD11i4gS31J6wxkCgYEA7VR7uyiNMKp5k/7uwAzLZllyGI7X93CBLtVP+YkPEfE5b+LcWpLS1aS0pU+/Mjsuk6wooKcQZ3anFeSe9NbJLvpCGaWA27btfBj99Hhj9qJ5lrK3Z7rhWQwVdMrBGEDNwcOg0NY73DK8Ze1La/7NGX36RyeiQLiLvI2mbtdWbEUCgYEAzZTLxkx7rGwVYWLbsNrJnjb8SII+DV2oqGXYo9+1BNk3gXAKpC5rk7tCC5L+1gSKC3autwN5qtwGR4R/X8LDwcdwKnaVaz5gFJD0w+vKfSAOBemOotrTmg3HXhyeNVO6jNvMP40cd5t5X7yYk5ij4luo/zzILsIj4N9lC32swDMCgYA0EEmIeE/o8izzq4RiuyvPyyV9f7CfBp5AUOlXe5rDu+B2zBS9BeKcnaJHdaQi99qy6JyNCblOiTgEVIAOhCPkW2Au0iDfklSs2aq0e8iqLWBxD8muRs/ywfTfBy+vC2BX9nuL9MNy/epYjeLy0RXbVsiV3Xr5qcJ13bk6LaE25QKBgAUJrmyvlyBEjcmTKJsO4X31Dv2f43FkaCuoQ0TQyJjT0d5kJn6bfJtkLVwnQANynQdm4yUs+qBLQAQkpRJtrWpkPsVrnoHAR455duYOMyoZzP4sGQi4oBLYX5hYzy+zW5D0Ge88wAPWVYUZFAwZ43o6kMuga69ppoNuNgWwELmtAoGAA0U57xnbYK4Qk1LpKVCluBQ662rfKxWWpeKTmGRFN0C1loBpCHdoQzphetFPXRF6480csTydyVwPJTTaZI+vW8rmKu8D1oWoBgkC4Hmr0+TP9hfttOp6oiMRrdVmPJEG8sGjwjXOzfOpvZ7CLDLzzzReK69QcOq08vvOaYuTmiA=", + "algorithm" : "RS256", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 3, + "applied_blobs" : { + "pubber_module" : "TIMESTAMP" + } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899359909 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1777899359909 with 1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP DEBUG device.log: Restoring unknown point filter_alarm_pressure_status +TIMESTAMP DEBUG device.log: Restoring unknown point filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log: Restoring unknown point filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_alarm_pressure_status with 10s delay +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_differential_pressure_setpoint with 10s delay +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: Applying slow writeback for point filter_differential_pressure_sensor with 10s delay +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer -1777899358822ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1872ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1871ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_idempotency) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 04 12:55:45 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1864ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_idempotency) +TIMESTAMP INFO device.log: sending AHU-1 message #0 with 3 points +TIMESTAMP INFO device.log: Completing delayed writeback for filter_alarm_pressure_status +TIMESTAMP DEBUG device.log: setting value state as null +TIMESTAMP INFO device.log: Completing delayed writeback for filter_differential_pressure_setpoint +TIMESTAMP DEBUG device.log: setting value state as 98 +TIMESTAMP INFO device.log: Completing delayed writeback for filter_differential_pressure_sensor +TIMESTAMP DEBUG device.log: setting value state as null +TIMESTAMP DEBUG Recorded sequence: 1. Check that log level `DEBUG` (or greater) category `blobset.blob.receive` was not logged +TIMESTAMP TRACE Stage suspend waiting for executing test at @64s +TIMESTAMP INFO Stage start waiting for last_config synchronized at @64s +TIMESTAMP is -8032ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for last_config synchronized at @64s after 0s +TIMESTAMP TRACE Stage resume waiting for executing test at @64s +TIMESTAMP for logs to arrive... +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:a52b4f4a +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:a52b4f4a +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Recorded sequence: 1. Check that log level `DEBUG` (or greater) category `blobset.blob.fetch` was not logged +TIMESTAMP TRACE Stage suspend waiting for executing test at @74s +TIMESTAMP INFO Stage start waiting for last_config synchronized at @74s +TIMESTAMP is -8008ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for last_config synchronized at @74s after 0s +TIMESTAMP TRACE Stage resume waiting for executing test at @74s +TIMESTAMP for logs to arrive... +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:76cbf276 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:76cbf276 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Recorded sequence: 1. Check that log level `INFO` (or greater) category `blobset.blob.apply` was not logged +TIMESTAMP DEBUG stage done waiting for executing test at @84s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_idempotency PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_idempotency after @84s ################################ diff --git a/validator/sequences/blob_update_idempotency/sequence.md b/validator/sequences/blob_update_idempotency/sequence.md new file mode 100644 index 0000000000..7394e214a2 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/sequence.md @@ -0,0 +1,20 @@ + +## blob_update_idempotency (PREVIEW) + +Validates that a previously applied blob config is not reapplied. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module state is success +1. Check that pubber_module software version reflects update +1. Wait for pubber_module phase is FINAL +1. Check that log level `DEBUG` (or greater) category `blobset.blob.receive` was not logged +1. Check that log level `DEBUG` (or greater) category `blobset.blob.fetch` was not logged +1. Check that log level `INFO` (or greater) category `blobset.blob.apply` was not logged + +Test passed. diff --git a/validator/sequences/blob_update_idempotency/state_blobset.attr b/validator/sequences/blob_update_idempotency/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_blobset.json b/validator/sequences/blob_update_idempotency/state_blobset.json new file mode 100644 index 0000000000..ae3200daab --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_discovery.attr b/validator/sequences/blob_update_idempotency/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_discovery.json b/validator/sequences/blob_update_idempotency/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_localnet.attr b/validator/sequences/blob_update_idempotency/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_localnet.json b/validator/sequences/blob_update_idempotency/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_pointset.attr b/validator/sequences/blob_update_idempotency/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_pointset.json b/validator/sequences/blob_update_idempotency/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_system.attr b/validator/sequences/blob_update_idempotency/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_system.json b/validator/sequences/blob_update_idempotency/state_system.json new file mode 100644 index 0000000000..3ae7b63733 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 3, + "mode" : "initial" + }, + "serial_no" : "sequencer-23930", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_update.attr b/validator/sequences/blob_update_idempotency/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_update.json b/validator/sequences/blob_update_idempotency/state_update.json new file mode 100644 index 0000000000..9d520bfcf3 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_update.json @@ -0,0 +1,69 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 3, + "mode" : "initial" + }, + "serial_no" : "sequencer-23930", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_validation.attr b/validator/sequences/blob_update_idempotency/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_idempotency/state_validation.json b/validator/sequences/blob_update_idempotency/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_idempotency/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_blobset.attr b/validator/sequences/blob_update_incompatible/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_blobset.json b/validator/sequences/blob_update_incompatible/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_discovery.attr b/validator/sequences/blob_update_incompatible/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_discovery.json b/validator/sequences/blob_update_incompatible/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_localnet.attr b/validator/sequences/blob_update_incompatible/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_localnet.json b/validator/sequences/blob_update_incompatible/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_pointset.attr b/validator/sequences/blob_update_incompatible/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_pointset.json b/validator/sequences/blob_update_incompatible/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_system.attr b/validator/sequences/blob_update_incompatible/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_system.json b/validator/sequences/blob_update_incompatible/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_update.attr b/validator/sequences/blob_update_incompatible/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/config_update.json b/validator/sequences/blob_update_incompatible/config_update.json new file mode 100644 index 0000000000..bc38c5033e --- /dev/null +++ b/validator/sequences/blob_update_incompatible/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-442a51d8-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_incompatible" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ0cmlnZ2VyIjoiaW5jb21wYXRpYmxlIn0=", + "sha256" : "@@@blob data hash###9b9f95fb7a37147bfd7cf3e4e6a0979f040455a8e2994f6431f7ad0838419188", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/device_system.log b/validator/sequences/blob_update_incompatible/device_system.log new file mode 100644 index 0000000000..48e49356b7 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/device_system.log @@ -0,0 +1,182 @@ +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-25060, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-25060 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1778499211784 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP INFO device.log Connection complete. +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1778499211784 with 1 +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG device.log State update defer 1991ms +TIMESTAMP DEBUG device.log State update defer 1990ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1851ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1850ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1846ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -403ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1107ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1324ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1718ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1717ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1712ms +TIMESTAMP DEBUG device.log State update defer 1711ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 660ms +TIMESTAMP DEBUG device.log State update defer 659ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 652ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 396ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 393ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 381ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP NOTICE blobset.blob.apply Staging blob update... +TIMESTAMP DEBUG device.log State update defer 1993ms +TIMESTAMP ERROR blobset.blob.parse.incompatible Simulated incompatibility for pubber_module +TIMESTAMP DEBUG device.log State update defer 1988ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1396ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP INFO device.log Blob pubber_module generation Mon May 11 11:33:56 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1379ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_incompatible) +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_incompatible/events_pointset.attr b/validator/sequences/blob_update_incompatible/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_incompatible/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/events_pointset.json b/validator/sequences/blob_update_incompatible/events_pointset.json new file mode 100644 index 0000000000..68bbd0e05e --- /dev/null +++ b/validator/sequences/blob_update_incompatible/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : true + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 11 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/events_system.attr b/validator/sequences/blob_update_incompatible/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/events_system.json b/validator/sequences/blob_update_incompatible/events_system.json new file mode 100644 index 0000000000..6096278b2f --- /dev/null +++ b/validator/sequences/blob_update_incompatible/events_system.json @@ -0,0 +1,477 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1107ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_incompatible\",\n \"transaction_id\" : \"RC:45ab98.00000007\",\n \"config_base\" : 133\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1324ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_incompatible\",\n \"transaction_id\" : \"RC:45ab98.00000008\",\n \"config_base\" : 134\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 2000ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1718ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1717ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_incompatible\",\n \"transaction_id\" : \"RC:45ab98.0000000c\",\n \"config_base\" : 135\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1712ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1711ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 660ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 659ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_incompatible\",\n \"transaction_id\" : \"RC:45ab98.00000009\",\n \"config_base\" : 136\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 652ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 396ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 393ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update delay 381ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Fetch blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Staging blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1993ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Simulated incompatibility for pubber_module", + "detail" : "udmi.lib.base.UdmiException$BlobIncompatibleException: Simulated incompatibility for pubber_module;", + "category" : "blobset.blob.parse.incompatible", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1988ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1396ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Blob pubber_module generation Mon May 11 11:33:56 UTC 2026 already applied", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1379ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_incompatible)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 78.15670013427734 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/local_blobset.json b/validator/sequences/blob_update_incompatible/local_blobset.json new file mode 100644 index 0000000000..c97da42096 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ0cmlnZ2VyIjoiaW5jb21wYXRpYmxlIn0=", + "sha256" : "@@@blob data hash###9b9f95fb7a37147bfd7cf3e4e6a0979f040455a8e2994f6431f7ad0838419188", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/local_discovery.json b/validator/sequences/blob_update_incompatible/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_incompatible/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/local_localnet.json b/validator/sequences/blob_update_incompatible/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/local_pointset.json b/validator/sequences/blob_update_incompatible/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/local_system.json b/validator/sequences/blob_update_incompatible/local_system.json new file mode 100644 index 0000000000..32fe39fdaf --- /dev/null +++ b/validator/sequences/blob_update_incompatible/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_incompatible" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/local_update.json b/validator/sequences/blob_update_incompatible/local_update.json new file mode 100644 index 0000000000..4d5eb3ced5 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-442a51d8-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_incompatible" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/sequence.log b/validator/sequences/blob_update_incompatible/sequence.log new file mode 100644 index 0000000000..1387d28128 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/sequence.log @@ -0,0 +1,1541 @@ +TIMESTAMP NOTICE Starting test blob_update_incompatible ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:82) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$14(SequenceBase.java:797) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$14(SequenceBase.java:797) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$14(SequenceBase.java:797) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$49(SequenceBase.java:1413) +TIMESTAMP is -6072ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:45ab98.00000004 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:45ab98.00000002 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:45ab98.00000002 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:45ab98.00000003 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:45ab98.00000003 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:8369639d +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : true +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 11 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:8369639d +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:a356a0e3 +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log: Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-25060, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-25060 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1778499211784 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1778499211784 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:a356a0e3 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:7c54ab87 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:7c54ab87 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:bd3d4c25 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:bd3d4c25 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:bd3d4c25 +TIMESTAMP INFO Initial state #001: { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "version" : "1.5.3", +TIMESTAMP INFO Initial state #001: "system" : { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "operation" : { +TIMESTAMP INFO Initial state #001: "operational" : true, +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "restart_count" : 1, +TIMESTAMP INFO Initial state #001: "mode" : "initial" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "serial_no" : "sequencer-25060", +TIMESTAMP INFO Initial state #001: "hardware" : { +TIMESTAMP INFO Initial state #001: "make" : "BOS", +TIMESTAMP INFO Initial state #001: "model" : "pubber" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "software" : { +TIMESTAMP INFO Initial state #001: "firmware" : "v1", +TIMESTAMP INFO Initial state #001: "pubber_module" : "v1" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "status" : { +TIMESTAMP INFO Initial state #001: "message" : "success", +TIMESTAMP INFO Initial state #001: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 100 +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "discovery" : { +TIMESTAMP INFO Initial state #001: "families" : { } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "localnet" : { +TIMESTAMP INFO Initial state #001: "families" : { +TIMESTAMP INFO Initial state #001: "ether" : { +TIMESTAMP INFO Initial state #001: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "ipv4" : { +TIMESTAMP INFO Initial state #001: "addr" : "172.17.35.172" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "vendor" : { +TIMESTAMP INFO Initial state #001: "addr" : "28179023" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "bacnet" : { +TIMESTAMP INFO Initial state #001: "addr" : "27312" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "pointset" : { +TIMESTAMP INFO Initial state #001: "points" : { +TIMESTAMP INFO Initial state #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Initial state #001: "units" : "No-units" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Initial state #001: "units" : "Bars", +TIMESTAMP INFO Initial state #001: "value_state" : "applied" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Initial state #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP NOTICE Received serial number sequencer-25060 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.00000004 +TIMESTAMP +TIMESTAMP RC:45ab98.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-442a51d8-dirty", +TIMESTAMP INFO Updated config #001: "system" : { +TIMESTAMP INFO Updated config #001: "min_loglevel" : 100, +TIMESTAMP INFO Updated config #001: "metrics_rate_sec" : 10, +TIMESTAMP INFO Updated config #001: "operation" : { +TIMESTAMP" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "testing" : { +TIMESTAMP INFO Updated config #001: "sequence_name" : "blob_update_incompatible" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "discovery" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "localnet" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "ether" : { }, +TIMESTAMP INFO Updated config #001: "ipv4" : { }, +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "pointset" : { +TIMESTAMP INFO Updated config #001: "sample_rate_sec" : 300, +TIMESTAMP INFO Updated config #001: "points" : { +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Updated config #001: "units" : "Bars", +TIMESTAMP INFO Updated config #001: "set_value" : 98 +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Updated config #001: "ref" : "BV11.present_value", +TIMESTAMP INFO Updated config #001: "units" : "No-units" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Updated config #001: "ref" : "AV12.present_value", +TIMESTAMP INFO Updated config #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:45ab98.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:45ab98.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:45ab98.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:bd3d4c25-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:bd3d4c25-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:bd3d4c25-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:bd3d4c25-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:bd3d4c25-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:bd3d4c25-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:bd3d4c25-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:bd3d4c25-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:bd3d4c25 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:bd3d4c25 +TIMESTAMP +TIMESTAMP MP:bd3d4c25 +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:52ef76a6 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:52ef76a6 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:52ef76a6 +TIMESTAMP INFO Updated state #002: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #002: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #002: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:52ef76a6-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:52ef76a6-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:52ef76a6-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:52ef76a6-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1981ms +TIMESTAMP DEBUG Rate-limiting config by 1981ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:45ab98.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:52ef76a6-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:52ef76a6-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:52ef76a6-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:52ef76a6-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d70a851f +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d70a851f +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d70a851f +TIMESTAMP INFO Updated state #003: Changed 4 fields: +TIMESTAMP INFO Updated state #003: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #003: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.00000005 +TIMESTAMP +TIMESTAMP RC:45ab98.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:45ab98.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:45ab98.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:45ab98.00000005 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:d70a851f-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:d70a851f-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d70a851f-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:d70a851f-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d70a851f-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:d70a851f-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d70a851f-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:d70a851f-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:85482bfd +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:85482bfd +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:85482bfd +TIMESTAMP INFO Updated state #004: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #004: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #004: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:85482bfd-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:85482bfd-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 4s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:45ab98.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:85482bfd-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:85482bfd-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:85482bfd-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:85482bfd-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:85482bfd-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:85482bfd-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:45ab98.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:45ab98.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:45ab98.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:45ab98.00000006 +TIMESTAMP INFO Updated state #005: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 959ms +TIMESTAMP DEBUG Rate-limiting config by 959ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:45ab98.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:45ab98.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:4ebaf913 +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer 1991ms +TIMESTAMP DEBUG device.log: State update defer 1990ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1851ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1850ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1846ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -403ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG Handling device message events_system MP:4ebaf913 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:c9ceead8 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:c9ceead8 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:c9ceead8 +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.00000007 +TIMESTAMP +TIMESTAMP RC:45ab98.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:45ab98.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:45ab98.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:45ab98.00000007 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:c9ceead8-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:c9ceead8-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:c9ceead8-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:c9ceead8-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:c9ceead8-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:c9ceead8-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:c9ceead8-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:c9ceead8-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:c8517c34 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:c8517c34 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:c8517c34 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:c8517c34-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:c8517c34-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:c8517c34-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:c8517c34-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:c8517c34-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:c8517c34-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1990ms +TIMESTAMP DEBUG Rate-limiting config by 1990ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:45ab98.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:45ab98.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:45ab98.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:45ab98.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:45ab98.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:c8517c34-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:c8517c34-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ea147db8 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ea147db8 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ea147db8 +TIMESTAMP INFO Updated state #008: Changed 4 fields: +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #008: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.00000008 +TIMESTAMP +TIMESTAMP RC:45ab98.00000008 +TIMESTAMP INFO Updated config #005: Changed 1 fields: +TIMESTAMP INFO Updated config #005: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:45ab98.00000008 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:45ab98.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:45ab98.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:ea147db8-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:ea147db8-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ea147db8-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:ea147db8-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ea147db8-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:ea147db8-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ea147db8-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:ea147db8-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.0000000c +TIMESTAMP +TIMESTAMP RC:45ab98.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:45ab98.0000000c +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:45ab98.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:45ab98.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.00000009 +TIMESTAMP +TIMESTAMP RC:45ab98.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:45ab98.00000009 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:45ab98.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:45ab98.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.0000000b +TIMESTAMP +TIMESTAMP RC:45ab98.0000000b +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:45ab98.0000000b +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:45ab98.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:45ab98.0000000b +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:e8b8fdfc +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:e8b8fdfc +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:e8b8fdfc +TIMESTAMP INFO Updated state #009: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:e8b8fdfc-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:e8b8fdfc-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:e8b8fdfc-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:e8b8fdfc-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:e8b8fdfc-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:e8b8fdfc-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:e8b8fdfc-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:e8b8fdfc-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:e8b8fdfc-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:e8b8fdfc-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:45ab98.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:45ab98.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:45ab98.0000000a +TIMESTAMP +TIMESTAMP RC:45ab98.0000000a +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:45ab98.0000000a +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:45ab98.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:45ab98.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d1a63ae0 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d1a63ae0 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d1a63ae0 +TIMESTAMP INFO Updated state #010: Changed 8 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #010: Set `system.status.message` = `success` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP INFO Updated state #010: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `udmi.lib.base.UdmiException$BlobIncompatibleException: Simulated incompatibility for pubber_module... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1997ms +TIMESTAMP DEBUG Rate-limiting config by 1997ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1996ms +TIMESTAMP DEBUG Rate-limiting config by 1996ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:d1a63ae0-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-25060", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:d1a63ae0-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d1a63ae0-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:d1a63ae0-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d1a63ae0-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:d1a63ae0-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:d1a63ae0-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "final", +TIMESTAMP TRACE Received state_blobset: "status" : { +TIMESTAMP TRACE Received state_blobset: "message" : "Simulated incompatibility for pubber_module", +TIMESTAMP TRACE Received state_blobset: "detail" : "udmi.lib.base.UdmiException$BlobIncompatibleException: Simulated incompatibility for pubber_module\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stagePubberModuleUpdate(PubberBlobLifecycleHandler.java:136)\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stageBlob(PubberBlobLifecycleHandler.java:92)\n\tat udmi.lib.client.host.PublisherHost.orchestrateTwoPhaseDeployment(PublisherHost.java:389)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:358)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", +TIMESTAMP TRACE Received state_blobset: "category" : "blobset.blob.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "level" : 500 +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:d1a63ae0-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d1a63ae0-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:d1a63ae0-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:ccc00e5f +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1107ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1324ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log: State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1718ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1717ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1712ms +TIMESTAMP DEBUG device.log: State update defer 1711ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 660ms +TIMESTAMP DEBUG device.log: State update defer 659ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 652ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 396ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 393ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 381ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG device.log: State update defer 1993ms +TIMESTAMP ERROR blobset.blob.parse.incompatible: Simulated incompatibility for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1988ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1396ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP INFO device.log: Blob pubber_module generation Mon May 11 11:33:56 UTC 2026 already applied +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1379ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG Handling device message events_system MP:ccc00e5f +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1107ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_incompatible) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_incompatible) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Detail system logs level `DEBUG` category `blobset.blob.receive` is now: null +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1943ms +TIMESTAMP DEBUG Rate-limiting config by 1943ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.parse.incompatible` at @35s +TIMESTAMP is 1997ms +TIMESTAMP DEBUG Rate-limiting config by 1997ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP ERROR blobset.blob.parse.incompatible: Simulated incompatibility for pubber_module +TIMESTAMP ERROR blobset.blob.parse.incompatible: Simulated incompatibility for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.parse.incompatible` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.parse.incompatible` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state indicates error +TIMESTAMP DEBUG stage done waiting for executing test at @37s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_incompatible PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_incompatible after @37s ################################ diff --git a/validator/sequences/blob_update_incompatible/sequence.md b/validator/sequences/blob_update_incompatible/sequence.md new file mode 100644 index 0000000000..be6a120350 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/sequence.md @@ -0,0 +1,15 @@ + +## blob_update_incompatible (PREVIEW) + +Validates reporting of incompatibility for a blob update. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.parse.incompatible` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_update_incompatible/state_blobset.attr b/validator/sequences/blob_update_incompatible/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_blobset.json b/validator/sequences/blob_update_incompatible/state_blobset.json new file mode 100644 index 0000000000..fb294e8e72 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_blobset.json @@ -0,0 +1,17 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Simulated incompatibility for pubber_module", + "detail" : "udmi.lib.base.UdmiException$BlobIncompatibleException: Simulated incompatibility for pubber_module\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stagePubberModuleUpdate(PubberBlobLifecycleHandler.java:136)\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stageBlob(PubberBlobLifecycleHandler.java:92)\n\tat udmi.lib.client.host.PublisherHost.orchestrateTwoPhaseDeployment(PublisherHost.java:389)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:358)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_discovery.attr b/validator/sequences/blob_update_incompatible/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_discovery.json b/validator/sequences/blob_update_incompatible/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_localnet.attr b/validator/sequences/blob_update_incompatible/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_localnet.json b/validator/sequences/blob_update_incompatible/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_pointset.attr b/validator/sequences/blob_update_incompatible/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_pointset.json b/validator/sequences/blob_update_incompatible/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_system.attr b/validator/sequences/blob_update_incompatible/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_system.json b/validator/sequences/blob_update_incompatible/state_system.json new file mode 100644 index 0000000000..d5d588fcd2 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-25060", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_update.attr b/validator/sequences/blob_update_incompatible/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_update.json b/validator/sequences/blob_update_incompatible/state_update.json new file mode 100644 index 0000000000..b3168bfc25 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_update.json @@ -0,0 +1,76 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Simulated incompatibility for pubber_module", + "detail" : "udmi.lib.base.UdmiException$BlobIncompatibleException: Simulated incompatibility for pubber_module\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stagePubberModuleUpdate(PubberBlobLifecycleHandler.java:136)\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stageBlob(PubberBlobLifecycleHandler.java:92)\n\tat udmi.lib.client.host.PublisherHost.orchestrateTwoPhaseDeployment(PublisherHost.java:389)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:358)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-25060", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_validation.attr b/validator/sequences/blob_update_incompatible/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_incompatible/state_validation.json b/validator/sequences/blob_update_incompatible/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_incompatible/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_blobset.attr b/validator/sequences/blob_update_invalid_hash/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_blobset.json b/validator/sequences/blob_update_invalid_hash/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_discovery.attr b/validator/sequences/blob_update_invalid_hash/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_discovery.json b/validator/sequences/blob_update_invalid_hash/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_localnet.attr b/validator/sequences/blob_update_invalid_hash/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_localnet.json b/validator/sequences/blob_update_invalid_hash/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_pointset.attr b/validator/sequences/blob_update_invalid_hash/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_pointset.json b/validator/sequences/blob_update_invalid_hash/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_system.attr b/validator/sequences/blob_update_invalid_hash/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_system.json b/validator/sequences/blob_update_invalid_hash/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_update.attr b/validator/sequences/blob_update_invalid_hash/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/config_update.json b/validator/sequences/blob_update_invalid_hash/config_update.json new file mode 100644 index 0000000000..ce123c76bb --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_invalid_hash" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ2ZXJzaW9uIjoidjIifQ==", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/device_system.log b/validator/sequences/blob_update_invalid_hash/device_system.log new file mode 100644 index 0000000000..ef94c69f8a --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/device_system.log @@ -0,0 +1,174 @@ +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-26353, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-26353 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1777899010032 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Connection complete. +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Ending connection 1777899010032 with 1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1881ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1875ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -453ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1051ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1341ms +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1758ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1758ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1755ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 817ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 811ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 648ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 643ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1469ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1467ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1460ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Blob data hash mismatch +TIMESTAMP ERROR blobset.blob.parse.corrupt Blob data hash mismatch +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer 1614ms +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_invalid_hash/events_pointset.attr b/validator/sequences/blob_update_invalid_hash/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/events_pointset.json b/validator/sequences/blob_update_invalid_hash/events_pointset.json new file mode 100644 index 0000000000..50ec4523e9 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : false + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 11 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/events_system.attr b/validator/sequences/blob_update_invalid_hash/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/events_system.json b/validator/sequences/blob_update_invalid_hash/events_system.json new file mode 100644 index 0000000000..ff4371ac34 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/events_system.json @@ -0,0 +1,453 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1051ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_hash\",\n \"transaction_id\" : \"RC:905f21.00000007\",\n \"config_base\" : 120\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1341ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_hash\",\n \"transaction_id\" : \"RC:905f21.00000008\",\n \"config_base\" : 121\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1758ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1758ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_hash\",\n \"transaction_id\" : \"RC:905f21.0000000c\",\n \"config_base\" : 122\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1755ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 817ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_hash\",\n \"transaction_id\" : \"RC:905f21.0000000a\",\n \"config_base\" : 123\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 811ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 648ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_hash\",\n \"transaction_id\" : \"RC:905f21.00000009\",\n \"config_base\" : 124\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 643ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1469ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1467ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update delay 1460ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_update_invalid_hash)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Fetch blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: Blob data hash mismatch", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "Blob data hash mismatch", + "detail" : "udmi.lib.base.UdmiException$HashMismatchException: Blob data hash mismatch;", + "category" : "blobset.blob.parse.corrupt", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1992ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1614ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 78.88824462890625 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/local_blobset.json b/validator/sequences/blob_update_invalid_hash/local_blobset.json new file mode 100644 index 0000000000..c52c6a93c9 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ2ZXJzaW9uIjoidjIifQ==", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/local_discovery.json b/validator/sequences/blob_update_invalid_hash/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/local_localnet.json b/validator/sequences/blob_update_invalid_hash/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/local_pointset.json b/validator/sequences/blob_update_invalid_hash/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/local_system.json b/validator/sequences/blob_update_invalid_hash/local_system.json new file mode 100644 index 0000000000..007e849d47 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_invalid_hash" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/local_update.json b/validator/sequences/blob_update_invalid_hash/local_update.json new file mode 100644 index 0000000000..0209af5f82 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_invalid_hash" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/sequence.log b/validator/sequences/blob_update_invalid_hash/sequence.log new file mode 100644 index 0000000000..c0d1141378 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/sequence.log @@ -0,0 +1,1526 @@ +TIMESTAMP NOTICE Starting test blob_update_invalid_hash ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:80) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$48(SequenceBase.java:1408) +TIMESTAMP is -6097ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:905f21.00000004 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:905f21.00000002 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:905f21.00000002 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:905f21.00000003 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:905f21.00000003 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:824b69d3 +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : false +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 11 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:824b69d3 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:dcbfc354 +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-26353, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-26353 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899010032 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Ending connection 1777899010032 with 1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:dcbfc354 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:2c46202a +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:2c46202a +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:3369446e +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:3369446e +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:3369446e +TIMESTAMP INFO Initial state #001: { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "version" : "1.5.3", +TIMESTAMP INFO Initial state #001: "system" : { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "operation" : { +TIMESTAMP INFO Initial state #001: "operational" : true, +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "restart_count" : 1, +TIMESTAMP INFO Initial state #001: "mode" : "initial" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "serial_no" : "sequencer-26353", +TIMESTAMP INFO Initial state #001: "hardware" : { +TIMESTAMP INFO Initial state #001: "make" : "BOS", +TIMESTAMP INFO Initial state #001: "model" : "pubber" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "software" : { +TIMESTAMP INFO Initial state #001: "firmware" : "v1", +TIMESTAMP INFO Initial state #001: "pubber_module" : "v1" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "status" : { +TIMESTAMP INFO Initial state #001: "message" : "success", +TIMESTAMP INFO Initial state #001: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 100 +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "discovery" : { +TIMESTAMP INFO Initial state #001: "families" : { } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "localnet" : { +TIMESTAMP INFO Initial state #001: "families" : { +TIMESTAMP INFO Initial state #001: "ether" : { +TIMESTAMP INFO Initial state #001: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "ipv4" : { +TIMESTAMP INFO Initial state #001: "addr" : "172.17.35.172" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "vendor" : { +TIMESTAMP INFO Initial state #001: "addr" : "28179023" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "bacnet" : { +TIMESTAMP INFO Initial state #001: "addr" : "27312" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "pointset" : { +TIMESTAMP INFO Initial state #001: "points" : { +TIMESTAMP INFO Initial state #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Initial state #001: "units" : "No-units" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Initial state #001: "units" : "Bars", +TIMESTAMP INFO Initial state #001: "value_state" : "applied" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Initial state #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP NOTICE Received serial number sequencer-26353 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:905f21.00000004 +TIMESTAMP +TIMESTAMP RC:905f21.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-1e48864d-dirty", +TIMESTAMP INFO Updated config #001: "system" : { +TIMESTAMP INFO Updated config #001: "min_loglevel" : 100, +TIMESTAMP INFO Updated config #001: "metrics_rate_sec" : 10, +TIMESTAMP INFO Updated config #001: "operation" : { +TIMESTAMP" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "testing" : { +TIMESTAMP INFO Updated config #001: "sequence_name" : "blob_update_invalid_hash" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "discovery" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "localnet" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "ether" : { }, +TIMESTAMP INFO Updated config #001: "ipv4" : { }, +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "pointset" : { +TIMESTAMP INFO Updated config #001: "sample_rate_sec" : 300, +TIMESTAMP INFO Updated config #001: "points" : { +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Updated config #001: "units" : "Bars", +TIMESTAMP INFO Updated config #001: "set_value" : 98 +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Updated config #001: "ref" : "BV11.present_value", +TIMESTAMP INFO Updated config #001: "units" : "No-units" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Updated config #001: "ref" : "AV12.present_value", +TIMESTAMP INFO Updated config #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:905f21.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:905f21.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:905f21.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:3369446e-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:3369446e-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:3369446e-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:3369446e-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:3369446e-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:3369446e-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:3369446e-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:3369446e-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:3369446e +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:3369446e +TIMESTAMP +TIMESTAMP MP:3369446e +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:10ad8be2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:10ad8be2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:10ad8be2 +TIMESTAMP INFO Updated state #002: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #002: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #002: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:10ad8be2-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:10ad8be2-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:10ad8be2-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:10ad8be2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1987ms +TIMESTAMP DEBUG Rate-limiting config by 1987ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:905f21.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:10ad8be2-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:10ad8be2-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:10ad8be2-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:10ad8be2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d209fcdc +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d209fcdc +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d209fcdc +TIMESTAMP INFO Updated state #003: Changed 4 fields: +TIMESTAMP INFO Updated state #003: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #003: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:905f21.00000005 +TIMESTAMP +TIMESTAMP RC:905f21.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:905f21.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:905f21.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:905f21.00000005 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:d209fcdc-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:d209fcdc-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d209fcdc-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:d209fcdc-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d209fcdc-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:d209fcdc-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d209fcdc-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:d209fcdc-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a26b933c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a26b933c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a26b933c +TIMESTAMP INFO Updated state #004: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #004: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #004: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a26b933c-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:a26b933c-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:905f21.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a26b933c-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:a26b933c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a26b933c-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:a26b933c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a26b933c-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:a26b933c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:905f21.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:905f21.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:905f21.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:905f21.00000006 +TIMESTAMP INFO Updated state #005: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 963ms +TIMESTAMP DEBUG Rate-limiting config by 963ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:905f21.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:905f21.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:d01326d9 +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1881ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1875ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -453ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG Handling device message events_system MP:d01326d9 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:e3a6ce9d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:e3a6ce9d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:e3a6ce9d +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:905f21.00000007 +TIMESTAMP +TIMESTAMP RC:905f21.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:905f21.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:905f21.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:905f21.00000007 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:e3a6ce9d-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:e3a6ce9d-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:e3a6ce9d-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:e3a6ce9d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:e3a6ce9d-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:e3a6ce9d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:e3a6ce9d-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:e3a6ce9d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:073426c3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:073426c3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:073426c3 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:073426c3-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:073426c3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:073426c3-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:073426c3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:073426c3-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:073426c3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1990ms +TIMESTAMP DEBUG Rate-limiting config by 1990ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:905f21.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:905f21.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:905f21.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:905f21.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:905f21.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:073426c3-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:073426c3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b5aa57ef +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b5aa57ef +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b5aa57ef +TIMESTAMP INFO Updated state #008: Changed 4 fields: +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #008: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:905f21.00000008 +TIMESTAMP +TIMESTAMP RC:905f21.00000008 +TIMESTAMP INFO Updated config #005: Changed 1 fields: +TIMESTAMP INFO Updated config #005: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:905f21.00000008 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:905f21.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:905f21.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b5aa57ef-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:b5aa57ef-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b5aa57ef-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:b5aa57ef-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b5aa57ef-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:b5aa57ef-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b5aa57ef-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:b5aa57ef-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:905f21.0000000c +TIMESTAMP +TIMESTAMP RC:905f21.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:905f21.0000000c +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:905f21.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:905f21.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:905f21.0000000a +TIMESTAMP +TIMESTAMP RC:905f21.0000000a +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:905f21.0000000a +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:905f21.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:905f21.0000000a +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:905f21.00000009 +TIMESTAMP +TIMESTAMP RC:905f21.00000009 +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:905f21.00000009 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:905f21.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:905f21.00000009 +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:1934a6ba +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:1934a6ba +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:1934a6ba +TIMESTAMP INFO Updated state #009: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:1934a6ba-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:1934a6ba-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:1934a6ba-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:1934a6ba-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:1934a6ba-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:1934a6ba-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:1934a6ba-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:1934a6ba-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:905f21.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:905f21.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:905f21.0000000b +TIMESTAMP +TIMESTAMP RC:905f21.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:905f21.0000000b +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:905f21.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:905f21.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b1449a30 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b1449a30 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b1449a30 +TIMESTAMP INFO Updated state #010: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b1449a30-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-26353", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:b1449a30-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b1449a30-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:b1449a30-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b1449a30-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:b1449a30-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:b1449a30-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:b1449a30-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b1449a30-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:b1449a30-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:740e1c06 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1051ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1341ms +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1758ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1758ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1755ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 817ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 811ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 648ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 643ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1469ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1467ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1460ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Blob data hash mismatch +TIMESTAMP ERROR blobset.blob.parse.corrupt: Blob data hash mismatch +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer 1614ms +TIMESTAMP DEBUG Handling device message events_system MP:740e1c06 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:06c71a2e +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:06c71a2e +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:06c71a2e +TIMESTAMP INFO Updated state #011: Changed 8 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `500` +TIMESTAMP INFO Updated state #011: Add `system.status.detail` = `udmi.lib.base.UdmiException$HashMismatchException: Blob data hash mismatch;` +TIMESTAMP INFO Updated state #011: Set `system.status.message` = `Blob data hash mismatch` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `blobset.blob.parse.corrupt` +TIMESTAMP` +TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP INFO Updated state #011: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `udmi.lib.base.UdmiException$HashMismatchException: Blob data hash mismatch... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1941ms +TIMESTAMP DEBUG Rate-limiting config by 1941ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1051ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_hash) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_hash) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1991ms +TIMESTAMP DEBUG Rate-limiting config by 1991ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.parse.corrupt` at @35s +TIMESTAMP is 1996ms +TIMESTAMP DEBUG Rate-limiting config by 1996ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP ERROR blobset.blob.parse.corrupt: Blob data hash mismatch +TIMESTAMP ERROR blobset.blob.parse.corrupt: Blob data hash mismatch +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.parse.corrupt` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.parse.corrupt` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state indicates error +TIMESTAMP DEBUG stage done waiting for executing test at @37s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_invalid_hash PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_invalid_hash after @37s ################################ diff --git a/validator/sequences/blob_update_invalid_hash/sequence.md b/validator/sequences/blob_update_invalid_hash/sequence.md new file mode 100644 index 0000000000..a8a3742e7c --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/sequence.md @@ -0,0 +1,15 @@ + +## blob_update_invalid_hash (PREVIEW) + +Validates tamper protection by providing a valid URL but an incorrect SHA-256 hash. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.parse.corrupt` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_update_invalid_hash/state_blobset.attr b/validator/sequences/blob_update_invalid_hash/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_blobset.json b/validator/sequences/blob_update_invalid_hash/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "apply", + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_discovery.attr b/validator/sequences/blob_update_invalid_hash/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_discovery.json b/validator/sequences/blob_update_invalid_hash/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_localnet.attr b/validator/sequences/blob_update_invalid_hash/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_localnet.json b/validator/sequences/blob_update_invalid_hash/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_pointset.attr b/validator/sequences/blob_update_invalid_hash/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_pointset.json b/validator/sequences/blob_update_invalid_hash/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_system.attr b/validator/sequences/blob_update_invalid_hash/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_system.json b/validator/sequences/blob_update_invalid_hash/state_system.json new file mode 100644 index 0000000000..251853099a --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-26353", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_update.attr b/validator/sequences/blob_update_invalid_hash/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_update.json b/validator/sequences/blob_update_invalid_hash/state_update.json new file mode 100644 index 0000000000..660c5e9fa9 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_update.json @@ -0,0 +1,77 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Blob data hash mismatch", + "detail" : "udmi.lib.base.UdmiException$HashMismatchException: Blob data hash mismatch\n\tat udmi.lib.blob.intf.BlobLifecycleHandler.verifyBlobIntegrity(BlobLifecycleHandler.java:38)\n\tat udmi.lib.client.host.PublisherHost.fetchVerifiedBlob(PublisherHost.java:320)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:353)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-26353", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Blob data hash mismatch", + "detail" : "udmi.lib.base.UdmiException$HashMismatchException: Blob data hash mismatch;", + "category" : "blobset.blob.parse.corrupt", + "timestamp" : "TIMESTAMP", + "level" : 500 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_validation.attr b/validator/sequences/blob_update_invalid_hash/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_hash/state_validation.json b/validator/sequences/blob_update_invalid_hash/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_hash/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_blobset.attr b/validator/sequences/blob_update_invalid_payload/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_blobset.json b/validator/sequences/blob_update_invalid_payload/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_discovery.attr b/validator/sequences/blob_update_invalid_payload/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_discovery.json b/validator/sequences/blob_update_invalid_payload/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_localnet.attr b/validator/sequences/blob_update_invalid_payload/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_localnet.json b/validator/sequences/blob_update_invalid_payload/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_pointset.attr b/validator/sequences/blob_update_invalid_payload/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_pointset.json b/validator/sequences/blob_update_invalid_payload/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_system.attr b/validator/sequences/blob_update_invalid_payload/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_system.json b/validator/sequences/blob_update_invalid_payload/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_update.attr b/validator/sequences/blob_update_invalid_payload/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/config_update.json b/validator/sequences/blob_update_invalid_payload/config_update.json new file mode 100644 index 0000000000..01da65a59d --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_invalid_payload" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,bm90IGEganNvbg==", + "sha256" : "@@@blob data hash###80858a2561ad177f6563c3f87b4943ca296c9ba4e6da14fe7400638568d8ccd5", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/device_system.log b/validator/sequences/blob_update_invalid_payload/device_system.log new file mode 100644 index 0000000000..574f98854f --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/device_system.log @@ -0,0 +1,189 @@ +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-4857, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-4857 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1777899191749 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1777899191749 with 1 +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1876ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1875ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1872ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -434ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1086ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log State update defer 1999ms +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1298ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1749ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1748ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1745ms +TIMESTAMP DEBUG device.log State update defer 1744ms +TIMESTAMP DEBUG device.log State update defer 1744ms +TIMESTAMP DEBUG device.log State update defer 1744ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 875ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 874ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 870ms +TIMESTAMP DEBUG device.log State update defer 870ms +TIMESTAMP DEBUG device.log State update defer 869ms +TIMESTAMP DEBUG device.log State update defer 868ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 658ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 654ms +TIMESTAMP DEBUG device.log State update defer 653ms +TIMESTAMP DEBUG device.log State update defer 652ms +TIMESTAMP DEBUG device.log State update defer 652ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1563ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1560ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1550ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP NOTICE blobset.blob.apply Staging blob update... +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Failed to parse blob payload for pubber_module +TIMESTAMP ERROR blobset.blob.parse.invalid Failed to parse blob payload for pubber_module +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer 1417ms +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_invalid_payload/events_pointset.attr b/validator/sequences/blob_update_invalid_payload/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/events_pointset.json b/validator/sequences/blob_update_invalid_payload/events_pointset.json new file mode 100644 index 0000000000..68bbd0e05e --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : true + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 11 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/events_system.attr b/validator/sequences/blob_update_invalid_payload/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/events_system.json b/validator/sequences/blob_update_invalid_payload/events_system.json new file mode 100644 index 0000000000..853a61c4df --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/events_system.json @@ -0,0 +1,523 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1086ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_payload\",\n \"transaction_id\" : \"RC:786d01.00000007\",\n \"config_base\" : 142\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1999ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1298ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_payload\",\n \"transaction_id\" : \"RC:786d01.00000008\",\n \"config_base\" : 143\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1749ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1748ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_payload\",\n \"transaction_id\" : \"RC:786d01.0000000c\",\n \"config_base\" : 144\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1745ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1744ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1744ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1744ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 875ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 874ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_payload\",\n \"transaction_id\" : \"RC:786d01.00000009\",\n \"config_base\" : 145\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 870ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 870ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 869ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 868ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 658ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_invalid_payload\",\n \"transaction_id\" : \"RC:786d01.0000000a\",\n \"config_base\" : 146\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 654ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 653ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 652ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 652ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1563ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1560ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update delay 1550ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_update_invalid_payload)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Fetch blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Staging blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: Failed to parse blob payload for pubber_module", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "Failed to parse blob payload for pubber_module", + "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to parse blob payload for pubber_module;", + "category" : "blobset.blob.parse.invalid", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1992ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1417ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 78.23248291015625 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/local_blobset.json b/validator/sequences/blob_update_invalid_payload/local_blobset.json new file mode 100644 index 0000000000..39a92729de --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,bm90IGEganNvbg==", + "sha256" : "@@@blob data hash###80858a2561ad177f6563c3f87b4943ca296c9ba4e6da14fe7400638568d8ccd5", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/local_discovery.json b/validator/sequences/blob_update_invalid_payload/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/local_localnet.json b/validator/sequences/blob_update_invalid_payload/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/local_pointset.json b/validator/sequences/blob_update_invalid_payload/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/local_system.json b/validator/sequences/blob_update_invalid_payload/local_system.json new file mode 100644 index 0000000000..88a113ceec --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_invalid_payload" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/local_update.json b/validator/sequences/blob_update_invalid_payload/local_update.json new file mode 100644 index 0000000000..415f77e28c --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_invalid_payload" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/sequence.log b/validator/sequences/blob_update_invalid_payload/sequence.log new file mode 100644 index 0000000000..a68f7b83ce --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/sequence.log @@ -0,0 +1,1543 @@ +TIMESTAMP NOTICE Starting test blob_update_invalid_payload ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:80) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$48(SequenceBase.java:1408) +TIMESTAMP is -6122ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:786d01.00000004 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:786d01.00000002 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:786d01.00000002 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:786d01.00000003 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:786d01.00000003 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:d45937f0 +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : true +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 11 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:d45937f0 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:b34df0ab +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log: Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-4857, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-4857 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899191749 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1777899191749 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:b34df0ab +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:53008341 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:53008341 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:786d01.00000004 +TIMESTAMP +TIMESTAMP RC:786d01.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-1e48864d-dirty", +TIMESTAMP INFO Updated config #001: "system" : { +TIMESTAMP INFO Updated config #001: "min_loglevel" : 100, +TIMESTAMP INFO Updated config #001: "metrics_rate_sec" : 10, +TIMESTAMP INFO Updated config #001: "operation" : { +TIMESTAMP" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "testing" : { +TIMESTAMP INFO Updated config #001: "sequence_name" : "blob_update_invalid_payload" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "discovery" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "localnet" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "ether" : { }, +TIMESTAMP INFO Updated config #001: "ipv4" : { }, +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "pointset" : { +TIMESTAMP INFO Updated config #001: "sample_rate_sec" : 300, +TIMESTAMP INFO Updated config #001: "points" : { +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Updated config #001: "units" : "Bars", +TIMESTAMP INFO Updated config #001: "set_value" : 98 +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Updated config #001: "ref" : "BV11.present_value", +TIMESTAMP INFO Updated config #001: "units" : "No-units" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Updated config #001: "ref" : "AV12.present_value", +TIMESTAMP INFO Updated config #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:dd872c9d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:dd872c9d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:dd872c9d +TIMESTAMP INFO Initial state #001: { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "version" : "1.5.3", +TIMESTAMP INFO Initial state #001: "system" : { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "operation" : { +TIMESTAMP INFO Initial state #001: "operational" : true, +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "restart_count" : 1, +TIMESTAMP INFO Initial state #001: "mode" : "initial" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "serial_no" : "sequencer-4857", +TIMESTAMP INFO Initial state #001: "hardware" : { +TIMESTAMP INFO Initial state #001: "make" : "BOS", +TIMESTAMP INFO Initial state #001: "model" : "pubber" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "software" : { +TIMESTAMP INFO Initial state #001: "firmware" : "v1", +TIMESTAMP INFO Initial state #001: "pubber_module" : "v1" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "status" : { +TIMESTAMP INFO Initial state #001: "message" : "success", +TIMESTAMP INFO Initial state #001: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 100 +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "discovery" : { +TIMESTAMP INFO Initial state #001: "families" : { } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "localnet" : { +TIMESTAMP INFO Initial state #001: "families" : { +TIMESTAMP INFO Initial state #001: "ether" : { +TIMESTAMP INFO Initial state #001: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "ipv4" : { +TIMESTAMP INFO Initial state #001: "addr" : "172.17.35.172" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "vendor" : { +TIMESTAMP INFO Initial state #001: "addr" : "28179023" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "bacnet" : { +TIMESTAMP INFO Initial state #001: "addr" : "27312" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "pointset" : { +TIMESTAMP INFO Initial state #001: "points" : { +TIMESTAMP INFO Initial state #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Initial state #001: "units" : "No-units" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Initial state #001: "units" : "Bars", +TIMESTAMP INFO Initial state #001: "value_state" : "applied" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Initial state #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP NOTICE Received serial number sequencer-4857 +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:786d01.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:786d01.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:786d01.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:dd872c9d-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:dd872c9d-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:dd872c9d-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:dd872c9d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:dd872c9d-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:dd872c9d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:dd872c9d-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:dd872c9d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:dd872c9d +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:dd872c9d +TIMESTAMP +TIMESTAMP MP:dd872c9d +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:4524a430 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:4524a430 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:4524a430 +TIMESTAMP INFO Updated state #002: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #002: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #002: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:4524a430-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:4524a430-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:4524a430-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:4524a430-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1555ms +TIMESTAMP DEBUG Rate-limiting config by 1555ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:786d01.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:4524a430-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:4524a430-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:4524a430-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:4524a430-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:786d01.00000005 +TIMESTAMP +TIMESTAMP RC:786d01.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: device state not updated since config issued, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:cc60ed02 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:cc60ed02 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:cc60ed02 +TIMESTAMP INFO Updated state #003: Changed 4 fields: +TIMESTAMP INFO Updated state #003: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #003: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:786d01.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:786d01.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:786d01.00000005 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:cc60ed02-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:cc60ed02-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:cc60ed02-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:cc60ed02-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:cc60ed02-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:cc60ed02-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:cc60ed02-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:cc60ed02-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:7257048c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:7257048c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:7257048c +TIMESTAMP INFO Updated state #004: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #004: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #004: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:7257048c-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:7257048c-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:786d01.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:7257048c-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:7257048c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:7257048c-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:7257048c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:7257048c-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:7257048c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:786d01.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:786d01.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:786d01.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:786d01.00000006 +TIMESTAMP INFO Updated state #005: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 963ms +TIMESTAMP DEBUG Rate-limiting config by 963ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:786d01.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:786d01.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:c01f3b34 +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1876ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1875ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1872ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -434ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG Handling device message events_system MP:c01f3b34 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:bcbf2577 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:bcbf2577 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:bcbf2577 +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:786d01.00000007 +TIMESTAMP +TIMESTAMP RC:786d01.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:786d01.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:786d01.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:786d01.00000007 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:bcbf2577-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:bcbf2577-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:bcbf2577-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:bcbf2577-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:bcbf2577-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:bcbf2577-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:bcbf2577-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:bcbf2577-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:08346336 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:08346336 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:08346336 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:08346336-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:08346336-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:08346336-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:08346336-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:08346336-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:08346336-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1991ms +TIMESTAMP DEBUG Rate-limiting config by 1991ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:786d01.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:786d01.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:786d01.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:786d01.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:786d01.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:08346336-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:08346336-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:5b60f512 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:5b60f512 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:5b60f512 +TIMESTAMP INFO Updated state #008: Changed 4 fields: +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #008: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:786d01.00000008 +TIMESTAMP +TIMESTAMP RC:786d01.00000008 +TIMESTAMP INFO Updated config #005: Changed 1 fields: +TIMESTAMP INFO Updated config #005: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:786d01.00000008 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:786d01.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:786d01.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:5b60f512-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:5b60f512-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:5b60f512-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:5b60f512-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:5b60f512-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:5b60f512-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:5b60f512-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:5b60f512-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:786d01.0000000c +TIMESTAMP +TIMESTAMP RC:786d01.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:786d01.0000000c +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:786d01.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:786d01.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:786d01.00000009 +TIMESTAMP +TIMESTAMP RC:786d01.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:786d01.00000009 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:786d01.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:786d01.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:786d01.0000000a +TIMESTAMP +TIMESTAMP RC:786d01.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:786d01.0000000a +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:786d01.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:786d01.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a7097937 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a7097937 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a7097937 +TIMESTAMP INFO Updated state #009: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a7097937-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:a7097937-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a7097937-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:a7097937-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a7097937-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:a7097937-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a7097937-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:a7097937-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:786d01.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:786d01.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:786d01.0000000b +TIMESTAMP +TIMESTAMP RC:786d01.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:786d01.0000000b +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:786d01.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:786d01.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:2b899f01 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:2b899f01 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:2b899f01 +TIMESTAMP INFO Updated state #010: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:2b899f01-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-4857", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:2b899f01-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1805ms +TIMESTAMP DEBUG Rate-limiting config by 1805ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:2b899f01-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:2b899f01-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:2b899f01-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:2b899f01-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:2b899f01-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:2b899f01-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:2b899f01-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:2b899f01-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:aaa80afa +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1086ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log: State update defer 1999ms +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1298ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1749ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1748ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1745ms +TIMESTAMP DEBUG device.log: State update defer 1744ms +TIMESTAMP DEBUG device.log: State update defer 1744ms +TIMESTAMP DEBUG device.log: State update defer 1744ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 875ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 874ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 870ms +TIMESTAMP DEBUG device.log: State update defer 870ms +TIMESTAMP DEBUG device.log: State update defer 869ms +TIMESTAMP DEBUG device.log: State update defer 868ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 658ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 654ms +TIMESTAMP DEBUG device.log: State update defer 653ms +TIMESTAMP DEBUG device.log: State update defer 652ms +TIMESTAMP DEBUG device.log: State update defer 652ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1563ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1560ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1550ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Failed to parse blob payload for pubber_module +TIMESTAMP ERROR blobset.blob.parse.invalid: Failed to parse blob payload for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer 1417ms +TIMESTAMP DEBUG Handling device message events_system MP:aaa80afa +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:38ea7c18 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:38ea7c18 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:38ea7c18 +TIMESTAMP INFO Updated state #011: Changed 8 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `500` +TIMESTAMP INFO Updated state #011: Add `system.status.detail` = `udmi.lib.base.UdmiException$BlobParseException: Failed to parse blob payload for pubber_module;` +TIMESTAMP INFO Updated state #011: Set `system.status.message` = `Failed to parse blob payload for pubber_module` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `blobset.blob.parse.invalid` +TIMESTAMP` +TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP INFO Updated state #011: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `udmi.lib.base.UdmiException$BlobParseException: Failed to parse blob payload for pubber_module... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1940ms +TIMESTAMP DEBUG Rate-limiting config by 1940ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1086ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG device.log: State update defer 1999ms +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_invalid_payload) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1990ms +TIMESTAMP DEBUG Rate-limiting config by 1990ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.parse.invalid` at @35s +TIMESTAMP is 1997ms +TIMESTAMP DEBUG Rate-limiting config by 1997ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP ERROR blobset.blob.parse.invalid: Failed to parse blob payload for pubber_module +TIMESTAMP ERROR blobset.blob.parse.invalid: Failed to parse blob payload for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.parse.invalid` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.parse.invalid` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state indicates error +TIMESTAMP DEBUG stage done waiting for executing test at @37s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_invalid_payload PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_invalid_payload after @37s ################################ diff --git a/validator/sequences/blob_update_invalid_payload/sequence.md b/validator/sequences/blob_update_invalid_payload/sequence.md new file mode 100644 index 0000000000..10f371f7e4 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/sequence.md @@ -0,0 +1,15 @@ + +## blob_update_invalid_payload (PREVIEW) + +Validates format and signature checking by providing a dummy payload. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.parse.invalid` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_update_invalid_payload/state_blobset.attr b/validator/sequences/blob_update_invalid_payload/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_blobset.json b/validator/sequences/blob_update_invalid_payload/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "apply", + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_discovery.attr b/validator/sequences/blob_update_invalid_payload/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_discovery.json b/validator/sequences/blob_update_invalid_payload/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_localnet.attr b/validator/sequences/blob_update_invalid_payload/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_localnet.json b/validator/sequences/blob_update_invalid_payload/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_pointset.attr b/validator/sequences/blob_update_invalid_payload/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_pointset.json b/validator/sequences/blob_update_invalid_payload/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_system.attr b/validator/sequences/blob_update_invalid_payload/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_system.json b/validator/sequences/blob_update_invalid_payload/state_system.json new file mode 100644 index 0000000000..ff8e21c4e0 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-4857", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_update.attr b/validator/sequences/blob_update_invalid_payload/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_update.json b/validator/sequences/blob_update_invalid_payload/state_update.json new file mode 100644 index 0000000000..2e2b45e3d1 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_update.json @@ -0,0 +1,77 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Failed to parse blob payload for pubber_module", + "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to parse blob payload for pubber_module\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stagePubberModuleUpdate(PubberBlobLifecycleHandler.java:132)\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.stageBlob(PubberBlobLifecycleHandler.java:91)\n\tat udmi.lib.client.host.PublisherHost.orchestrateTwoPhaseDeployment(PublisherHost.java:389)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:358)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-4857", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Failed to parse blob payload for pubber_module", + "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to parse blob payload for pubber_module;", + "category" : "blobset.blob.parse.invalid", + "timestamp" : "TIMESTAMP", + "level" : 500 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_validation.attr b/validator/sequences/blob_update_invalid_payload/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_invalid_payload/state_validation.json b/validator/sequences/blob_update_invalid_payload/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_invalid_payload/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_blobset.attr b/validator/sequences/blob_update_oversize/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_blobset.json b/validator/sequences/blob_update_oversize/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_discovery.attr b/validator/sequences/blob_update_oversize/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_discovery.json b/validator/sequences/blob_update_oversize/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_localnet.attr b/validator/sequences/blob_update_oversize/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_localnet.json b/validator/sequences/blob_update_oversize/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_pointset.attr b/validator/sequences/blob_update_oversize/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_pointset.json b/validator/sequences/blob_update_oversize/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_system.attr b/validator/sequences/blob_update_oversize/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_system.json b/validator/sequences/blob_update_oversize/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_update.attr b/validator/sequences/blob_update_oversize/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/config_update.json b/validator/sequences/blob_update_oversize/config_update.json new file mode 100644 index 0000000000..ad749d5ad1 --- /dev/null +++ b/validator/sequences/blob_update_oversize/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-442a51d8-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_oversize" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###http://localhost:1/mock_oversize", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/device_system.log b/validator/sequences/blob_update_oversize/device_system.log new file mode 100644 index 0000000000..42c9fab25d --- /dev/null +++ b/validator/sequences/blob_update_oversize/device_system.log @@ -0,0 +1,187 @@ +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-16115, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-16115 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1778499297738 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP INFO device.log Connection complete. +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1778499297738 with 1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1861ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1859ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1855ms +TIMESTAMP DEBUG device.log State update defer 1854ms +TIMESTAMP DEBUG device.log State update defer 1854ms +TIMESTAMP DEBUG device.log State update defer 1853ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -424ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1051ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1394ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1702ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1701ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1695ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 816ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 816ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 813ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 594ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 590ms +TIMESTAMP DEBUG device.log State update defer 589ms +TIMESTAMP DEBUG device.log State update defer 588ms +TIMESTAMP DEBUG device.log State update defer 588ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1479ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1478ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1470ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_oversize) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Simulated payload too big +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP ERROR blobset.blob.fetch.oversize Simulated payload too big +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG device.log State update defer 1461ms +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_oversize/events_pointset.attr b/validator/sequences/blob_update_oversize/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_oversize/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/events_pointset.json b/validator/sequences/blob_update_oversize/events_pointset.json new file mode 100644 index 0000000000..328425c980 --- /dev/null +++ b/validator/sequences/blob_update_oversize/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : true + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 9 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/events_system.attr b/validator/sequences/blob_update_oversize/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_oversize/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/events_system.json b/validator/sequences/blob_update_oversize/events_system.json new file mode 100644 index 0000000000..9647444967 --- /dev/null +++ b/validator/sequences/blob_update_oversize/events_system.json @@ -0,0 +1,508 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1051ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_oversize\",\n \"transaction_id\" : \"RC:172512.00000007\",\n \"config_base\" : 144\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 2000ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1394ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_oversize\",\n \"transaction_id\" : \"RC:172512.00000008\",\n \"config_base\" : 145\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1994ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1702ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1701ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_oversize\",\n \"transaction_id\" : \"RC:172512.0000000c\",\n \"config_base\" : 146\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1695ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 816ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 816ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_oversize\",\n \"transaction_id\" : \"RC:172512.00000009\",\n \"config_base\" : 147\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 813ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 594ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_oversize\",\n \"transaction_id\" : \"RC:172512.0000000a\",\n \"config_base\" : 148\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 590ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 589ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 588ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 588ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1479ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1478ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update delay 1470ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_update_oversize)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Fetch blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: Simulated payload too big", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Simulated payload too big", + "detail" : "udmi.lib.base.UdmiException$PayloadTooBigException: Simulated payload too big;", + "category" : "blobset.blob.fetch.oversize", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1994ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1461ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 78.21965026855469 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/local_blobset.json b/validator/sequences/blob_update_oversize/local_blobset.json new file mode 100644 index 0000000000..ce75acd49a --- /dev/null +++ b/validator/sequences/blob_update_oversize/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###http://localhost:1/mock_oversize", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/local_discovery.json b/validator/sequences/blob_update_oversize/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_oversize/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/local_localnet.json b/validator/sequences/blob_update_oversize/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_oversize/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/local_pointset.json b/validator/sequences/blob_update_oversize/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_oversize/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/local_system.json b/validator/sequences/blob_update_oversize/local_system.json new file mode 100644 index 0000000000..ac99c1f617 --- /dev/null +++ b/validator/sequences/blob_update_oversize/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_oversize" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/local_update.json b/validator/sequences/blob_update_oversize/local_update.json new file mode 100644 index 0000000000..0370789947 --- /dev/null +++ b/validator/sequences/blob_update_oversize/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-442a51d8-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_oversize" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/sequence.log b/validator/sequences/blob_update_oversize/sequence.log new file mode 100644 index 0000000000..f0c5684e01 --- /dev/null +++ b/validator/sequences/blob_update_oversize/sequence.log @@ -0,0 +1,1544 @@ +TIMESTAMP NOTICE Starting test blob_update_oversize ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:82) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$14(SequenceBase.java:797) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$14(SequenceBase.java:797) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$14(SequenceBase.java:797) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$49(SequenceBase.java:1413) +TIMESTAMP is -6087ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:172512.00000004 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:172512.00000002 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:172512.00000002 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:172512.00000003 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:172512.00000003 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:210904b7 +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : true +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 9 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:210904b7 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e2c025f2 +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-16115, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-16115 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1778499297738 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1778499297738 with 1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:e2c025f2 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:584e60d2 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:584e60d2 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$107(SequenceBase.java:2269) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$109(SequenceBase.java:2273) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$111(SequenceBase.java:2280) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:def7c5b8 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:def7c5b8 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:def7c5b8 +TIMESTAMP INFO Initial state #001: { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "version" : "1.5.3", +TIMESTAMP INFO Initial state #001: "system" : { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "operation" : { +TIMESTAMP INFO Initial state #001: "operational" : true, +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "restart_count" : 1, +TIMESTAMP INFO Initial state #001: "mode" : "initial" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "serial_no" : "sequencer-16115", +TIMESTAMP INFO Initial state #001: "hardware" : { +TIMESTAMP INFO Initial state #001: "make" : "BOS", +TIMESTAMP INFO Initial state #001: "model" : "pubber" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "software" : { +TIMESTAMP INFO Initial state #001: "firmware" : "v1", +TIMESTAMP INFO Initial state #001: "pubber_module" : "v1" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "status" : { +TIMESTAMP INFO Initial state #001: "message" : "success", +TIMESTAMP INFO Initial state #001: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 100 +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "discovery" : { +TIMESTAMP INFO Initial state #001: "families" : { } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "localnet" : { +TIMESTAMP INFO Initial state #001: "families" : { +TIMESTAMP INFO Initial state #001: "ether" : { +TIMESTAMP INFO Initial state #001: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "ipv4" : { +TIMESTAMP INFO Initial state #001: "addr" : "172.17.35.172" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "vendor" : { +TIMESTAMP INFO Initial state #001: "addr" : "28179023" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "bacnet" : { +TIMESTAMP INFO Initial state #001: "addr" : "27312" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "pointset" : { +TIMESTAMP INFO Initial state #001: "points" : { +TIMESTAMP INFO Initial state #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Initial state #001: "units" : "No-units" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Initial state #001: "units" : "Bars", +TIMESTAMP INFO Initial state #001: "value_state" : "applied" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Initial state #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP NOTICE Received serial number sequencer-16115 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:172512.00000004 +TIMESTAMP +TIMESTAMP RC:172512.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-442a51d8-dirty", +TIMESTAMP INFO Updated config #001: "system" : { +TIMESTAMP INFO Updated config #001: "min_loglevel" : 100, +TIMESTAMP INFO Updated config #001: "metrics_rate_sec" : 10, +TIMESTAMP INFO Updated config #001: "operation" : { +TIMESTAMP" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "testing" : { +TIMESTAMP INFO Updated config #001: "sequence_name" : "blob_update_oversize" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "discovery" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "localnet" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "ether" : { }, +TIMESTAMP INFO Updated config #001: "ipv4" : { }, +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "pointset" : { +TIMESTAMP INFO Updated config #001: "sample_rate_sec" : 300, +TIMESTAMP INFO Updated config #001: "points" : { +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Updated config #001: "units" : "Bars", +TIMESTAMP INFO Updated config #001: "set_value" : 98 +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Updated config #001: "ref" : "BV11.present_value", +TIMESTAMP INFO Updated config #001: "units" : "No-units" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Updated config #001: "ref" : "AV12.present_value", +TIMESTAMP INFO Updated config #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:172512.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:172512.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:172512.00000004 +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:def7c5b8-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:def7c5b8-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:def7c5b8-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:def7c5b8-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:def7c5b8-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:def7c5b8-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:def7c5b8-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:def7c5b8-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:def7c5b8 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:def7c5b8 +TIMESTAMP +TIMESTAMP MP:def7c5b8 +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ff92fcc6 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ff92fcc6 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ff92fcc6 +TIMESTAMP INFO Updated state #002: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #002: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #002: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:ff92fcc6-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:ff92fcc6-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ff92fcc6-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:ff92fcc6-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ff92fcc6-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:ff92fcc6-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1513ms +TIMESTAMP DEBUG Rate-limiting config by 1513ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:172512.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ff92fcc6-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:ff92fcc6-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:172512.00000005 +TIMESTAMP +TIMESTAMP RC:172512.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ef60ab49 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ef60ab49 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ef60ab49 +TIMESTAMP INFO Updated state #003: Changed 4 fields: +TIMESTAMP INFO Updated state #003: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #003: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:172512.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:172512.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:172512.00000005 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:ef60ab49-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:ef60ab49-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ef60ab49-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:ef60ab49-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ef60ab49-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:ef60ab49-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ef60ab49-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:ef60ab49-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:648c8799 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:648c8799 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:648c8799 +TIMESTAMP INFO Updated state #004: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #004: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #004: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:172512.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:648c8799-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:648c8799-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:648c8799-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:648c8799-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:648c8799-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:648c8799-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:648c8799-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:648c8799-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:172512.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:172512.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:172512.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:172512.00000006 +TIMESTAMP INFO Updated state #005: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 954ms +TIMESTAMP DEBUG Rate-limiting config by 954ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:172512.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:172512.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:fbc771da +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1861ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1859ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1855ms +TIMESTAMP DEBUG device.log: State update defer 1854ms +TIMESTAMP DEBUG device.log: State update defer 1854ms +TIMESTAMP DEBUG device.log: State update defer 1853ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -424ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG Handling device message events_system MP:fbc771da +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a5573acf +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a5573acf +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a5573acf +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:172512.00000007 +TIMESTAMP +TIMESTAMP RC:172512.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:172512.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:172512.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:172512.00000007 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a5573acf-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:a5573acf-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a5573acf-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:a5573acf-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a5573acf-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:a5573acf-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a5573acf-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:a5573acf-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:680b5559 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:680b5559 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:680b5559 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:680b5559-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:680b5559-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:680b5559-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:680b5559-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:680b5559-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:680b5559-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1988ms +TIMESTAMP DEBUG Rate-limiting config by 1988ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:172512.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:172512.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:172512.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:172512.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:172512.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:680b5559-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:680b5559-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:02137ca8 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:02137ca8 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:02137ca8 +TIMESTAMP INFO Updated state #008: Changed 4 fields: +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #008: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:172512.00000008 +TIMESTAMP +TIMESTAMP RC:172512.00000008 +TIMESTAMP INFO Updated config #005: Changed 1 fields: +TIMESTAMP INFO Updated config #005: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:172512.00000008 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:172512.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:172512.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:02137ca8-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:02137ca8-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:02137ca8-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:02137ca8-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:02137ca8-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:02137ca8-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:02137ca8-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:02137ca8-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:172512.0000000c +TIMESTAMP +TIMESTAMP RC:172512.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:172512.0000000c +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:172512.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:172512.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:172512.00000009 +TIMESTAMP +TIMESTAMP RC:172512.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:172512.00000009 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:172512.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:172512.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:172512.0000000a +TIMESTAMP +TIMESTAMP RC:172512.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:172512.0000000a +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:172512.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:172512.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d9d4d32a +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d9d4d32a +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d9d4d32a +TIMESTAMP INFO Updated state #009: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:d9d4d32a-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:d9d4d32a-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d9d4d32a-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:d9d4d32a-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d9d4d32a-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:d9d4d32a-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d9d4d32a-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:d9d4d32a-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:172512.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:172512.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:172512.0000000b +TIMESTAMP +TIMESTAMP RC:172512.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:172512.0000000b +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:172512.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:172512.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:60fb5830 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:60fb5830 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:60fb5830 +TIMESTAMP INFO Updated state #010: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:60fb5830-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-16115", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:60fb5830-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1743ms +TIMESTAMP DEBUG Rate-limiting config by 1743ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:60fb5830-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:60fb5830-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:60fb5830-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:60fb5830-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:60fb5830-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:60fb5830-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:60fb5830-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:60fb5830-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:cbeebab6 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1051ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log: State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1394ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1702ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1701ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1695ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 816ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 816ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 813ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 594ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 590ms +TIMESTAMP DEBUG device.log: State update defer 589ms +TIMESTAMP DEBUG device.log: State update defer 588ms +TIMESTAMP DEBUG device.log: State update defer 588ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1479ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1478ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1470ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Simulated payload too big +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP ERROR blobset.blob.fetch.oversize: Simulated payload too big +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer 1461ms +TIMESTAMP DEBUG Handling device message events_system MP:cbeebab6 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:161dba80 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:161dba80 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:161dba80 +TIMESTAMP INFO Updated state #011: Changed 8 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `500` +TIMESTAMP INFO Updated state #011: Add `system.status.detail` = `udmi.lib.base.UdmiException$PayloadTooBigException: Simulated payload too big;` +TIMESTAMP INFO Updated state #011: Set `system.status.message` = `Simulated payload too big` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `blobset.blob.fetch.oversize` +TIMESTAMP` +TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP INFO Updated state #011: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `udmi.lib.base.UdmiException$PayloadTooBigException: Simulated payload too big... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1941ms +TIMESTAMP DEBUG Rate-limiting config by 1941ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1051ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG device.log: State update defer 2000ms +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_oversize) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1990ms +TIMESTAMP DEBUG Rate-limiting config by 1990ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.fetch.oversize` at @35s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP ERROR blobset.blob.fetch.oversize: Simulated payload too big +TIMESTAMP ERROR blobset.blob.fetch.oversize: Simulated payload too big +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.fetch.oversize` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.fetch.oversize` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state indicates error +TIMESTAMP DEBUG stage done waiting for executing test at @37s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_oversize PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_oversize after @37s ################################ diff --git a/validator/sequences/blob_update_oversize/sequence.md b/validator/sequences/blob_update_oversize/sequence.md new file mode 100644 index 0000000000..02cf8fb79f --- /dev/null +++ b/validator/sequences/blob_update_oversize/sequence.md @@ -0,0 +1,15 @@ + +## blob_update_oversize (PREVIEW) + +Validates reporting of an oversized payload fetch failure. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.fetch.oversize` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_update_oversize/state_blobset.attr b/validator/sequences/blob_update_oversize/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_blobset.json b/validator/sequences/blob_update_oversize/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "apply", + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_discovery.attr b/validator/sequences/blob_update_oversize/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_discovery.json b/validator/sequences/blob_update_oversize/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_localnet.attr b/validator/sequences/blob_update_oversize/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_localnet.json b/validator/sequences/blob_update_oversize/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_pointset.attr b/validator/sequences/blob_update_oversize/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_pointset.json b/validator/sequences/blob_update_oversize/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_system.attr b/validator/sequences/blob_update_oversize/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_system.json b/validator/sequences/blob_update_oversize/state_system.json new file mode 100644 index 0000000000..27ce5156dc --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-16115", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_update.attr b/validator/sequences/blob_update_oversize/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_update.json b/validator/sequences/blob_update_oversize/state_update.json new file mode 100644 index 0000000000..db21094343 --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_update.json @@ -0,0 +1,77 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Simulated payload too big", + "detail" : "udmi.lib.base.UdmiException$PayloadTooBigException: Simulated payload too big\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.fetchBlobData(PubberBlobLifecycleHandler.java:77)\n\tat udmi.lib.client.host.PublisherHost.fetchVerifiedBlob(PublisherHost.java:319)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:353)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-16115", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Simulated payload too big", + "detail" : "udmi.lib.base.UdmiException$PayloadTooBigException: Simulated payload too big;", + "category" : "blobset.blob.fetch.oversize", + "timestamp" : "TIMESTAMP", + "level" : 500 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_validation.attr b/validator/sequences/blob_update_oversize/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_oversize/state_validation.json b/validator/sequences/blob_update_oversize/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_oversize/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_blobset.attr b/validator/sequences/blob_update_success/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_success/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_blobset.json b/validator/sequences/blob_update_success/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_success/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_discovery.attr b/validator/sequences/blob_update_success/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_success/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_discovery.json b/validator/sequences/blob_update_success/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_success/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_localnet.attr b/validator/sequences/blob_update_success/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_success/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_localnet.json b/validator/sequences/blob_update_success/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_success/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_pointset.attr b/validator/sequences/blob_update_success/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_success/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_pointset.json b/validator/sequences/blob_update_success/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_success/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_system.attr b/validator/sequences/blob_update_success/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_success/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_system.json b/validator/sequences/blob_update_success/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_success/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_update.attr b/validator/sequences/blob_update_success/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_success/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/config_update.json b/validator/sequences/blob_update_success/config_update.json new file mode 100644 index 0000000000..e90e7016df --- /dev/null +++ b/validator/sequences/blob_update_success/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_success" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ2ZXJzaW9uIjoidjIifQ==", + "sha256" : "@@@blob data hash###0923c04472e891c960e0339a6c2ffaa1228be79ee8da8171380cc4b4a66e7c37", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/device_system.log b/validator/sequences/blob_update_success/device_system.log new file mode 100644 index 0000000000..b462b59411 --- /dev/null +++ b/validator/sequences/blob_update_success/device_system.log @@ -0,0 +1,190 @@ +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1777899284196 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP INFO device.log Connection complete. +TIMESTAMP +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1777899284196 with 1 +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1878ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1873ms +TIMESTAMP DEBUG device.log State update defer 1872ms +TIMESTAMP DEBUG device.log State update defer 1871ms +TIMESTAMP DEBUG device.log State update defer 1871ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -405ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1993ms +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer 1991ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1068ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1339ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1998ms +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1737ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1737ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1733ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 813ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 812ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 809ms +TIMESTAMP DEBUG device.log State update defer 809ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 646ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 644ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 641ms +TIMESTAMP DEBUG device.log State update defer 640ms +TIMESTAMP DEBUG device.log State update defer 639ms +TIMESTAMP DEBUG device.log State update defer 639ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1483ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1481ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1474ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP NOTICE blobset.blob.apply Staging blob update... +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP INFO device.log Updating pubber module to: v2 +TIMESTAMP DEBUG device.log State update defer 1733ms +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_success/events_pointset.attr b/validator/sequences/blob_update_success/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_success/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/events_pointset.json b/validator/sequences/blob_update_success/events_pointset.json new file mode 100644 index 0000000000..68bbd0e05e --- /dev/null +++ b/validator/sequences/blob_update_success/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : true + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 11 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/events_system.attr b/validator/sequences/blob_update_success/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_success/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/events_system.json b/validator/sequences/blob_update_success/events_system.json new file mode 100644 index 0000000000..8b23356708 --- /dev/null +++ b/validator/sequences/blob_update_success/events_system.json @@ -0,0 +1,512 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1068ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_success\",\n \"transaction_id\" : \"RC:32189b.00000007\",\n \"config_base\" : 153\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1339ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_success\",\n \"transaction_id\" : \"RC:32189b.00000008\",\n \"config_base\" : 154\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1998ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1996ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1737ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1737ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_success\",\n \"transaction_id\" : \"RC:32189b.0000000c\",\n \"config_base\" : 155\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1733ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 813ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 812ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_success\",\n \"transaction_id\" : \"RC:32189b.00000009\",\n \"config_base\" : 156\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 809ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 809ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 646ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 644ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_success\",\n \"transaction_id\" : \"RC:32189b.0000000a\",\n \"config_base\" : 157\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 641ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 640ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 639ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 639ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1483ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1481ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update delay 1474ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_update_success)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Fetch blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Staging blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Updating pubber module to: v2", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update defer 1733ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 77.37877655029297 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/local_blobset.json b/validator/sequences/blob_update_success/local_blobset.json new file mode 100644 index 0000000000..8271ec1792 --- /dev/null +++ b/validator/sequences/blob_update_success/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,eyJ2ZXJzaW9uIjoidjIifQ==", + "sha256" : "@@@blob data hash###0923c04472e891c960e0339a6c2ffaa1228be79ee8da8171380cc4b4a66e7c37", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/local_discovery.json b/validator/sequences/blob_update_success/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_success/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/local_localnet.json b/validator/sequences/blob_update_success/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_success/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/local_pointset.json b/validator/sequences/blob_update_success/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_success/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/local_system.json b/validator/sequences/blob_update_success/local_system.json new file mode 100644 index 0000000000..2b5f8653d3 --- /dev/null +++ b/validator/sequences/blob_update_success/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_success" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/local_update.json b/validator/sequences/blob_update_success/local_update.json new file mode 100644 index 0000000000..7de7746db6 --- /dev/null +++ b/validator/sequences/blob_update_success/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_success" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/sequence.log b/validator/sequences/blob_update_success/sequence.log new file mode 100644 index 0000000000..aaf96282b4 --- /dev/null +++ b/validator/sequences/blob_update_success/sequence.log @@ -0,0 +1,1643 @@ +TIMESTAMP NOTICE Starting test blob_update_success ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:80) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$48(SequenceBase.java:1408) +TIMESTAMP is -6096ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:32189b.00000004 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:32189b.00000002 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:32189b.00000002 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:32189b.00000003 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:32189b.00000003 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:4a851397 +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : true +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 11 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:4a851397 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:b31ab741 +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log: Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-23930, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-23930 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899284196 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP INFO device.log: Connection complete. +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1777899284196 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:b31ab741 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:1e825fe1 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:1e825fe1 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000004 +TIMESTAMP +TIMESTAMP RC:32189b.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-1e48864d-dirty", +TIMESTAMP INFO Updated config #001: "system" : { +TIMESTAMP INFO Updated config #001: "min_loglevel" : 100, +TIMESTAMP INFO Updated config #001: "metrics_rate_sec" : 10, +TIMESTAMP INFO Updated config #001: "operation" : { +TIMESTAMP" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "testing" : { +TIMESTAMP INFO Updated config #001: "sequence_name" : "blob_update_success" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "discovery" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "localnet" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "ether" : { }, +TIMESTAMP INFO Updated config #001: "ipv4" : { }, +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "pointset" : { +TIMESTAMP INFO Updated config #001: "sample_rate_sec" : 300, +TIMESTAMP INFO Updated config #001: "points" : { +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Updated config #001: "units" : "Bars", +TIMESTAMP INFO Updated config #001: "set_value" : 98 +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Updated config #001: "ref" : "BV11.present_value", +TIMESTAMP INFO Updated config #001: "units" : "No-units" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Updated config #001: "ref" : "AV12.present_value", +TIMESTAMP INFO Updated config #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:cb4eb892 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:cb4eb892 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:cb4eb892 +TIMESTAMP INFO Initial state #001: { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "version" : "1.5.3", +TIMESTAMP INFO Initial state #001: "system" : { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "operation" : { +TIMESTAMP INFO Initial state #001: "operational" : true, +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "restart_count" : 1, +TIMESTAMP INFO Initial state #001: "mode" : "initial" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "serial_no" : "sequencer-23930", +TIMESTAMP INFO Initial state #001: "hardware" : { +TIMESTAMP INFO Initial state #001: "make" : "BOS", +TIMESTAMP INFO Initial state #001: "model" : "pubber" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "software" : { +TIMESTAMP INFO Initial state #001: "firmware" : "v1", +TIMESTAMP INFO Initial state #001: "pubber_module" : "v1" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "status" : { +TIMESTAMP INFO Initial state #001: "message" : "success", +TIMESTAMP INFO Initial state #001: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 100 +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "discovery" : { +TIMESTAMP INFO Initial state #001: "families" : { } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "localnet" : { +TIMESTAMP INFO Initial state #001: "families" : { +TIMESTAMP INFO Initial state #001: "ether" : { +TIMESTAMP INFO Initial state #001: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "ipv4" : { +TIMESTAMP INFO Initial state #001: "addr" : "172.17.35.172" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "vendor" : { +TIMESTAMP INFO Initial state #001: "addr" : "28179023" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "bacnet" : { +TIMESTAMP INFO Initial state #001: "addr" : "27312" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "pointset" : { +TIMESTAMP INFO Initial state #001: "points" : { +TIMESTAMP INFO Initial state #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Initial state #001: "units" : "No-units" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Initial state #001: "units" : "Bars", +TIMESTAMP INFO Initial state #001: "value_state" : "applied" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Initial state #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP NOTICE Received serial number sequencer-23930 +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:32189b.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:32189b.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:32189b.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:cb4eb892-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:cb4eb892-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:cb4eb892-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:cb4eb892-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:cb4eb892-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:cb4eb892-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:cb4eb892-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:cb4eb892-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:cb4eb892 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:cb4eb892 +TIMESTAMP +TIMESTAMP MP:cb4eb892 +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:98af4fe9 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:98af4fe9 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:98af4fe9 +TIMESTAMP INFO Updated state #002: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #002: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #002: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:98af4fe9-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:98af4fe9-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:98af4fe9-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:98af4fe9-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1987ms +TIMESTAMP DEBUG Rate-limiting config by 1987ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:32189b.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:98af4fe9-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:98af4fe9-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:98af4fe9-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:98af4fe9-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:563dc52a +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:563dc52a +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:563dc52a +TIMESTAMP INFO Updated state #003: Changed 4 fields: +TIMESTAMP INFO Updated state #003: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #003: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000005 +TIMESTAMP +TIMESTAMP RC:32189b.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:32189b.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:32189b.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:32189b.00000005 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:563dc52a-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:563dc52a-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:563dc52a-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:563dc52a-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:563dc52a-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:563dc52a-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:563dc52a-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:563dc52a-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:c595b43f +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:c595b43f +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:c595b43f +TIMESTAMP INFO Updated state #004: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #004: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #004: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:c595b43f-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:c595b43f-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:32189b.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:c595b43f-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:c595b43f-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:c595b43f-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:c595b43f-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:c595b43f-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:c595b43f-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:32189b.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:32189b.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:32189b.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:32189b.00000006 +TIMESTAMP INFO Updated state #005: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 963ms +TIMESTAMP DEBUG Rate-limiting config by 963ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:32189b.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:32189b.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:a698b02b +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1878ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1873ms +TIMESTAMP DEBUG device.log: State update defer 1872ms +TIMESTAMP DEBUG device.log: State update defer 1871ms +TIMESTAMP DEBUG device.log: State update defer 1871ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -405ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1993ms +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer 1991ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG Handling device message events_system MP:a698b02b +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:067756d9 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:067756d9 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:067756d9 +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000007 +TIMESTAMP +TIMESTAMP RC:32189b.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:32189b.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:32189b.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:32189b.00000007 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:067756d9-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:067756d9-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:067756d9-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:067756d9-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:067756d9-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:067756d9-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:067756d9-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:067756d9-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:770b9429 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:770b9429 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:770b9429 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:770b9429-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:770b9429-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:770b9429-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:770b9429-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:770b9429-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:770b9429-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1988ms +TIMESTAMP DEBUG Rate-limiting config by 1988ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:32189b.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:32189b.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:32189b.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:32189b.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:32189b.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:770b9429-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:770b9429-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a1cb7835 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a1cb7835 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a1cb7835 +TIMESTAMP INFO Updated state #008: Changed 4 fields: +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #008: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000008 +TIMESTAMP +TIMESTAMP RC:32189b.00000008 +TIMESTAMP INFO Updated config #005: Changed 1 fields: +TIMESTAMP INFO Updated config #005: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:32189b.00000008 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:32189b.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000008 +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a1cb7835-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:a1cb7835-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a1cb7835-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:a1cb7835-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a1cb7835-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:a1cb7835-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a1cb7835-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:a1cb7835-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:32189b.0000000c +TIMESTAMP +TIMESTAMP RC:32189b.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:32189b.0000000c +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:32189b.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:32189b.00000009 +TIMESTAMP +TIMESTAMP RC:32189b.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:32189b.00000009 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:32189b.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:32189b.0000000a +TIMESTAMP +TIMESTAMP RC:32189b.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:32189b.0000000a +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:32189b.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:3d40d0c3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:3d40d0c3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:3d40d0c3 +TIMESTAMP INFO Updated state #009: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:3d40d0c3-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:3d40d0c3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:3d40d0c3-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:3d40d0c3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:3d40d0c3-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:3d40d0c3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:3d40d0c3-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:3d40d0c3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:32189b.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:32189b.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:32189b.0000000b +TIMESTAMP +TIMESTAMP RC:32189b.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:32189b.0000000b +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:32189b.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:32189b.0000000b +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:5d133187 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:5d133187 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:5d133187 +TIMESTAMP INFO Updated state #010: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1997ms +TIMESTAMP DEBUG Rate-limiting config by 1997ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:5d133187-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:5d133187-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:5d133187-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:5d133187-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:5d133187-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:5d133187-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:5d133187-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:5d133187-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:5d133187-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:5d133187-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:536f1023 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1068ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1339ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1737ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1737ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1733ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 813ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 812ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 809ms +TIMESTAMP DEBUG device.log: State update defer 809ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 646ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 644ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 641ms +TIMESTAMP DEBUG device.log: State update defer 640ms +TIMESTAMP DEBUG device.log: State update defer 639ms +TIMESTAMP DEBUG device.log: State update defer 639ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1483ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1481ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1474ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP INFO device.log: Updating pubber module to: v2 +TIMESTAMP DEBUG device.log: State update defer 1733ms +TIMESTAMP DEBUG Handling device message events_system MP:536f1023 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:e4ee644d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:e4ee644d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:e4ee644d +TIMESTAMP INFO Updated state #011: Changed 5 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #011: Set `system.status.message` = `Staging blob update...` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `blobset.blob.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:e4ee644d-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-23930", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Staging blob update...", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:e4ee644d-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:e4ee644d-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:e4ee644d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:e4ee644d-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:e4ee644d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:e4ee644d-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:e4ee644d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:e4ee644d-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:e4ee644d-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:32090079 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:32090079 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:32090079 +TIMESTAMP INFO Updated state #012: Changed 2 fields: +TIMESTAMP INFO Updated state #012: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1911ms +TIMESTAMP DEBUG Rate-limiting config by 1911ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1068ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_success) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1998ms +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1991ms +TIMESTAMP DEBUG Rate-limiting config by 1991ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `NOTICE` category `blobset.blob.apply` at @35s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP NOTICE blobset.blob.apply: Staging blob update... +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +TIMESTAMP DEBUG Stage finished waiting for system logs level `NOTICE` category `blobset.blob.apply` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state is success +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module software version reflects update +TIMESTAMP DEBUG stage done waiting for executing test at @37s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_success PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_success after @37s ################################ diff --git a/validator/sequences/blob_update_success/sequence.md b/validator/sequences/blob_update_success/sequence.md new file mode 100644 index 0000000000..e7015ca557 --- /dev/null +++ b/validator/sequences/blob_update_success/sequence.md @@ -0,0 +1,16 @@ + +## blob_update_success (PREVIEW) + +Validates a successful blob update where the device fetches, applies, and reports the new version. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module state is success +1. Check that pubber_module software version reflects update + +Test passed. diff --git a/validator/sequences/blob_update_success/state_blobset.attr b/validator/sequences/blob_update_success/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_success/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_blobset.json b/validator/sequences/blob_update_success/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_update_success/state_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "apply", + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_discovery.attr b/validator/sequences/blob_update_success/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_success/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_discovery.json b/validator/sequences/blob_update_success/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_success/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_localnet.attr b/validator/sequences/blob_update_success/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_success/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_localnet.json b/validator/sequences/blob_update_success/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_success/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_pointset.attr b/validator/sequences/blob_update_success/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_success/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_pointset.json b/validator/sequences/blob_update_success/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_success/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_system.attr b/validator/sequences/blob_update_success/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_success/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_system.json b/validator/sequences/blob_update_success/state_system.json new file mode 100644 index 0000000000..dfd685c0dd --- /dev/null +++ b/validator/sequences/blob_update_success/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-23930", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Staging blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_update.attr b/validator/sequences/blob_update_success/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_success/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_update.json b/validator/sequences/blob_update_success/state_update.json new file mode 100644 index 0000000000..0c2ee53bf8 --- /dev/null +++ b/validator/sequences/blob_update_success/state_update.json @@ -0,0 +1,69 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-23930", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "Staging blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_validation.attr b/validator/sequences/blob_update_success/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_success/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_success/state_validation.json b/validator/sequences/blob_update_success/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_success/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_blobset.attr b/validator/sequences/blob_update_unreachable_url/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_blobset.json b/validator/sequences/blob_update_unreachable_url/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_discovery.attr b/validator/sequences/blob_update_unreachable_url/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_discovery.json b/validator/sequences/blob_update_unreachable_url/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_localnet.attr b/validator/sequences/blob_update_unreachable_url/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_localnet.json b/validator/sequences/blob_update_unreachable_url/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_pointset.attr b/validator/sequences/blob_update_unreachable_url/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_pointset.json b/validator/sequences/blob_update_unreachable_url/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_system.attr b/validator/sequences/blob_update_unreachable_url/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_system.json b/validator/sequences/blob_update_unreachable_url/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_update.attr b/validator/sequences/blob_update_unreachable_url/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "config" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/config_update.json b/validator/sequences/blob_update_unreachable_url/config_update.json new file mode 100644 index 0000000000..bb67d879cb --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_unreachable_url" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###http://localhost:1/bogus", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/device_system.log b/validator/sequences/blob_update_unreachable_url/device_system.log new file mode 100644 index 0000000000..742475e5a1 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/device_system.log @@ -0,0 +1,178 @@ +TIMESTAMP INFO device.log Configured with auth_type RS256 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log Starting pubber AHU-1, serial sequencer-12221, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-12221 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1777899099077 with 0 +TIMESTAMP INFO device.log Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log Password sha256 6b5344e1 +TIMESTAMP WARNING device.log Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log Dropping state update until config received... +TIMESTAMP WARNING device.log Received config for config latch AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1777899099077 with 1 +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1996ms +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1878ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1872ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -471ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1993ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1042ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1313ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1995ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1779ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1775ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 860ms +TIMESTAMP DEBUG device.log State update defer 859ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 856ms +TIMESTAMP DEBUG device.log State update defer 856ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 666ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 661ms +TIMESTAMP DEBUG device.log State update defer 661ms +TIMESTAMP DEBUG device.log State update defer 660ms +TIMESTAMP DEBUG device.log State update defer 660ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1500ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG device.log value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1487ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP DEBUG blobset.blob.fetch Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log State update defer 1997ms +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: No fetcher registered for scheme: http +TIMESTAMP ERROR blobset.blob.fetch.failure No fetcher registered for scheme: http +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer 1572ms +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_update_unreachable_url/events_pointset.attr b/validator/sequences/blob_update_unreachable_url/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/events_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/events_pointset.json b/validator/sequences/blob_update_unreachable_url/events_pointset.json new file mode 100644 index 0000000000..68f17ac3f7 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/events_pointset.json @@ -0,0 +1,15 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "present_value" : true + }, + "filter_differential_pressure_setpoint" : { + "present_value" : 98 + }, + "filter_differential_pressure_sensor" : { + "present_value" : 12 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/events_system.attr b/validator/sequences/blob_update_unreachable_url/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/events_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "events" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/events_system.json b/validator/sequences/blob_update_unreachable_url/events_system.json new file mode 100644 index 0000000000..457c6f4ec1 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/events_system.json @@ -0,0 +1,463 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1042ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_unreachable_url\",\n \"transaction_id\" : \"RC:c1b619.00000007\",\n \"config_base\" : 131\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1313ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 100\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_unreachable_url\",\n \"transaction_id\" : \"RC:c1b619.00000008\",\n \"config_base\" : 132\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1995ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1779ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_unreachable_url\",\n \"transaction_id\" : \"RC:c1b619.0000000c\",\n \"config_base\" : 133\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1775ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 860ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 859ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_unreachable_url\",\n \"transaction_id\" : \"RC:c1b619.00000009\",\n \"config_base\" : 134\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 856ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 856ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 666ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_update_unreachable_url\",\n \"transaction_id\" : \"RC:c1b619.0000000a\",\n \"config_base\" : 135\n }\n },\n \"discovery\" : {\n \"families\" : {\n \"bacnet\" : { },\n \"vendor\" : { }\n }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : { },\n \"ipv4\" : { },\n \"vendor\" : { },\n \"bacnet\" : { }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 661ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 661ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 660ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 660ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 0ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\",\n \"level\" : 300\n }\n },\n \"discovery\" : {\n \"families\" : { }\n },\n \"localnet\" : {\n \"families\" : {\n \"ether\" : {\n \"addr\" : \"42:01:ac:11:23:ac\"\n },\n \"ipv4\" : {\n \"addr\" : \"172.17.35.172\"\n },\n \"vendor\" : {\n \"addr\" : \"28179023\"\n },\n \"bacnet\" : {\n \"addr\" : \"27312\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1500ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Device AHU-1 config handler", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Config update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"sample_rate_sec\" : 300,\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"ref\" : \"BV11.present_value\",\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"set_value\" : 98\n },\n \"filter_differential_pressure_sensor\" : {\n \"ref\" : \"AV12.present_value\",\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "value of noWriteback: false", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update delay 1487ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_update_unreachable_url)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n }\n }\n },\n \"pointset\" : {\n \"points\" : {\n \"filter_alarm_pressure_status\" : {\n \"units\" : \"No-units\"\n },\n \"filter_differential_pressure_setpoint\" : {\n \"units\" : \"Bars\",\n \"value_state\" : \"applied\"\n },\n \"filter_differential_pressure_sensor\" : {\n \"units\" : \"Degrees-Celsius\"\n }\n }\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Fetch blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1997ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: No fetcher registered for scheme: http", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "No fetcher registered for scheme: http", + "detail" : "java.lang.IllegalArgumentException: No fetcher registered for scheme: http;", + "category" : "blobset.blob.fetch.failure", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1992ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1572ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 78.54219818115234 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/local_blobset.json b/validator/sequences/blob_update_unreachable_url/local_blobset.json new file mode 100644 index 0000000000..1528d684cd --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###http://localhost:1/bogus", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/local_discovery.json b/validator/sequences/blob_update_unreachable_url/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/local_localnet.json b/validator/sequences/blob_update_unreachable_url/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/local_pointset.json b/validator/sequences/blob_update_unreachable_url/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/local_pointset.json @@ -0,0 +1,17 @@ +{ + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/local_system.json b/validator/sequences/blob_update_unreachable_url/local_system.json new file mode 100644 index 0000000000..5e60cc7810 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_unreachable_url" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/local_update.json b/validator/sequences/blob_update_unreachable_url/local_update.json new file mode 100644 index 0000000000..e4a66bf739 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-1e48864d-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_update_unreachable_url" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "pointset" : { + "sample_rate_sec" : 300, + "points" : { + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "set_value" : 98 + }, + "filter_alarm_pressure_status" : { + "ref" : "BV11.present_value", + "units" : "No-units" + }, + "filter_differential_pressure_sensor" : { + "ref" : "AV12.present_value", + "units" : "Degrees-Celsius" + } + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/sequence.log b/validator/sequences/blob_update_unreachable_url/sequence.log new file mode 100644 index 0000000000..45a27f720a --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/sequence.log @@ -0,0 +1,1530 @@ +TIMESTAMP NOTICE Starting test blob_update_unreachable_url ################################ +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "gateway_id" because "com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.deviceMetadata.gateway" is null, at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.lambda$setUp$0(BlobsetSequences.java:80) +TIMESTAMP INFO Stage start waiting for starting test wrapper at @0s +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Allowing device state change (everything) +TIMESTAMP DEBUG Starting reset_config full reset true +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged false because extra_field null +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field reset_config +TIMESTAMP DEBUG Clear configTransactions and reset device config +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$resetDeviceConfig$13(SequenceBase.java:792) +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Set extraFieldChanged true because extra_field null +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$ensureStateConfigHoldoff$48(SequenceBase.java:1408) +TIMESTAMP is -6090ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:c1b619.00000004 +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP +TIMESTAMP, because soft reset +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @8s +TIMESTAMP INFO Stage start waiting for config update synchronized at @8s +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:c1b619.00000002 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:c1b619.00000002 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:c1b619.00000003 +TIMESTAMP TRACE Received state_validation: { +TIMESTAMP TRACE Received state_validation: "operation" : "REPLY" +TIMESTAMP TRACE Received state_validation: } +TIMESTAMP DEBUG Handling device message state_validation RC:c1b619.00000003 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:2a4f249e +TIMESTAMP TRACE Received events_pointset: { +TIMESTAMP TRACE Received events_pointset: "points" : { +TIMESTAMP TRACE Received events_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : true +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 98 +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP TRACE Received events_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received events_pointset: "present_value" : 12 +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP TRACE Received events_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received events_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received events_pointset: } +TIMESTAMP DEBUG Handling device message events_pointset MP:2a4f249e +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:9fc0a80f +TIMESTAMP INFO device.log: Configured with auth_type RS256 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ipv4 +TIMESTAMP INFO device.log: Family ipv4 address is 172.17.35.172 +TIMESTAMP INFO device.log: Using addresses from default interface: ens4 for family: ether +TIMESTAMP INFO device.log: Family ether address is 42:01:ac:11:23:ac +TIMESTAMP INFO device.log: Resetting persistent store /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/out/devices/AHU-1/persistent_data.json +TIMESTAMP INFO device.log: Loading endpoint into persistent data from configuration +TIMESTAMP WARNING device.log: Updating persistent store: +{ + "endpoint" : { + "protocol" : "mqtt", + "transport" : "ssl", + "hostname" : "localhost", + "client_id" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "topic_prefix" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "auth_provider" : { + "basic" : { + "username" : "/r/ZZ-TRI-FECTA/d/AHU-1", + "password" : "38269d11" + } + } + }, + "restart_count" : 1, + "applied_blobs" : { } +} +TIMESTAMP INFO device.log: Starting pubber AHU-1, serial sequencer-12221, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing mock JGit module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo_sequencer-12221 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1777899099077 with 0 +TIMESTAMP INFO device.log: Loading device key bytes from /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pkcs8 +TIMESTAMP INFO device.log: CA cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/reflector/ca.crt +TIMESTAMP INFO device.log: Device cert file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.crt +TIMESTAMP INFO device.log: Private key file: /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/sites/udmi_site_model/devices/AHU-1/rsa_private.pem +TIMESTAMP INFO device.log: Password sha256 6b5344e1 +TIMESTAMP WARNING device.log: Creating new config latch for AHU-1 +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP WARNING device.log: Dropping state update until config received... +TIMESTAMP WARNING device.log: Received config for config latch AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPublisherHost sender with delay 10s +TIMESTAMP +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1777899099077 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:9fc0a80f +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:0a136d5d +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:0a136d5d +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$106(SequenceBase.java:2264) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "system" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$108(SequenceBase.java:2268) +TIMESTAMP TRACE Suppressing exception: java.lang.NullPointerException: Cannot read field "timestamp" because "this.deviceState" is null, at com.google.daq.mqtt.sequencer.SequenceBase.lambda$configIsPending$110(SequenceBase.java:2275) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.00000004 +TIMESTAMP +TIMESTAMP RC:c1b619.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-1e48864d-dirty", +TIMESTAMP INFO Updated config #001: "system" : { +TIMESTAMP INFO Updated config #001: "min_loglevel" : 100, +TIMESTAMP INFO Updated config #001: "metrics_rate_sec" : 10, +TIMESTAMP INFO Updated config #001: "operation" : { +TIMESTAMP" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "testing" : { +TIMESTAMP INFO Updated config #001: "sequence_name" : "blob_update_unreachable_url" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "discovery" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "localnet" : { +TIMESTAMP INFO Updated config #001: "families" : { +TIMESTAMP INFO Updated config #001: "ether" : { }, +TIMESTAMP INFO Updated config #001: "ipv4" : { }, +TIMESTAMP INFO Updated config #001: "vendor" : { }, +TIMESTAMP INFO Updated config #001: "bacnet" : { } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "pointset" : { +TIMESTAMP INFO Updated config #001: "sample_rate_sec" : 300, +TIMESTAMP INFO Updated config #001: "points" : { +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Updated config #001: "units" : "Bars", +TIMESTAMP INFO Updated config #001: "set_value" : 98 +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Updated config #001: "ref" : "BV11.present_value", +TIMESTAMP INFO Updated config #001: "units" : "No-units" +TIMESTAMP INFO Updated config #001: }, +TIMESTAMP INFO Updated config #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Updated config #001: "ref" : "AV12.present_value", +TIMESTAMP INFO Updated config #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP INFO Updated config #001: } +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:4218d504 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:4218d504 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:4218d504 +TIMESTAMP INFO Initial state #001: { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "version" : "1.5.3", +TIMESTAMP INFO Initial state #001: "system" : { +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "operation" : { +TIMESTAMP INFO Initial state #001: "operational" : true, +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "restart_count" : 1, +TIMESTAMP INFO Initial state #001: "mode" : "initial" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "serial_no" : "sequencer-12221", +TIMESTAMP INFO Initial state #001: "hardware" : { +TIMESTAMP INFO Initial state #001: "make" : "BOS", +TIMESTAMP INFO Initial state #001: "model" : "pubber" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "software" : { +TIMESTAMP INFO Initial state #001: "firmware" : "v1", +TIMESTAMP INFO Initial state #001: "pubber_module" : "v1" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "status" : { +TIMESTAMP INFO Initial state #001: "message" : "success", +TIMESTAMP INFO Initial state #001: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 100 +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "discovery" : { +TIMESTAMP INFO Initial state #001: "families" : { } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "localnet" : { +TIMESTAMP INFO Initial state #001: "families" : { +TIMESTAMP INFO Initial state #001: "ether" : { +TIMESTAMP INFO Initial state #001: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "ipv4" : { +TIMESTAMP INFO Initial state #001: "addr" : "172.17.35.172" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "vendor" : { +TIMESTAMP INFO Initial state #001: "addr" : "28179023" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "bacnet" : { +TIMESTAMP INFO Initial state #001: "addr" : "27312" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "pointset" : { +TIMESTAMP INFO Initial state #001: "points" : { +TIMESTAMP INFO Initial state #001: "filter_alarm_pressure_status" : { +TIMESTAMP INFO Initial state #001: "units" : "No-units" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_setpoint" : { +TIMESTAMP INFO Initial state #001: "units" : "Bars", +TIMESTAMP INFO Initial state #001: "value_state" : "applied" +TIMESTAMP INFO Initial state #001: }, +TIMESTAMP INFO Initial state #001: "filter_differential_pressure_sensor" : { +TIMESTAMP INFO Initial state #001: "units" : "Degrees-Celsius" +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP INFO Initial state #001: } +TIMESTAMP NOTICE Received serial number sequencer-12221 +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:c1b619.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:c1b619.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:c1b619.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:4218d504-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:4218d504-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:4218d504-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:4218d504-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:4218d504-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:4218d504-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:4218d504-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:4218d504-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:4218d504 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:4218d504 +TIMESTAMP +TIMESTAMP MP:4218d504 +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d531b15e +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d531b15e +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d531b15e +TIMESTAMP INFO Updated state #002: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #002: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #002: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP TRACE Update config soft reset: Add `discovery` = { "families": { "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `pointset` = { "sample_rate_sec": `300`, "points": { "filter_differential_pressure_setpoint": { "set_value": `98`, "units": `Bars` }, "filter_alarm_pressure_status": { "ref": `BV11.present_value`, "units": `No-units` }, "filter_differential_pressure_sensor": { "ref": `AV12.present_value`, "units": `Degrees-Celsius` } } } +TIMESTAMP TRACE Update config soft reset: Add `localnet` = { "families": { "ether": { }, "ipv4": { }, "vendor": { }, "bacnet": { } } } +TIMESTAMP TRACE Update config soft reset: Add `timestamp` = `generated timestamp` +TIMESTAMP DEBUG Done with reset_config +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @10s +TIMESTAMP INFO Stage start waiting for config update synchronized at @10s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:d531b15e-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:d531b15e-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d531b15e-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:d531b15e-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @10s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1985ms +TIMESTAMP DEBUG Rate-limiting config by 1985ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:c1b619.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for config update synchronized at @12s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d531b15e-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:d531b15e-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d531b15e-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:d531b15e-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b52d4593 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b52d4593 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b52d4593 +TIMESTAMP INFO Updated state #003: Changed 4 fields: +TIMESTAMP INFO Updated state #003: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #003: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.00000005 +TIMESTAMP +TIMESTAMP RC:c1b619.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:c1b619.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:c1b619.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:c1b619.00000005 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b52d4593-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:b52d4593-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b52d4593-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:b52d4593-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b52d4593-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:b52d4593-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b52d4593-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:b52d4593-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:af536b63 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:af536b63 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:af536b63 +TIMESTAMP INFO Updated state #004: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #004: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #004: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:af536b63-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:af536b63-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @15s after 3s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @15s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:c1b619.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @15s +TIMESTAMP INFO Stage start waiting for state query at @15s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:af536b63-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:af536b63-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:af536b63-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:af536b63-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:af536b63-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:af536b63-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:c1b619.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:c1b619.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:c1b619.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:c1b619.00000006 +TIMESTAMP INFO Updated state #005: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @16s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @16s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @16s +TIMESTAMP INFO Stage start waiting for initial device state at @16s +TIMESTAMP is 950ms +TIMESTAMP DEBUG Rate-limiting config by 950ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:c1b619.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:c1b619.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:8317058d +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1996ms +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1878ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1872ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -471ms +TIMESTAMP +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1993ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG Handling device message events_system MP:8317058d +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a7b19c41 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a7b19c41 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a7b19c41 +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.00000007 +TIMESTAMP +TIMESTAMP RC:c1b619.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:c1b619.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:c1b619.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:c1b619.00000007 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a7b19c41-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:a7b19c41-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a7b19c41-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:a7b19c41-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a7b19c41-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:a7b19c41-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a7b19c41-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:a7b19c41-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:916e6956 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:916e6956 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:916e6956 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:916e6956-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:916e6956-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @20s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:916e6956-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:916e6956-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:916e6956-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:916e6956-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @20s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @20s +TIMESTAMP DEBUG Config sync took 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @20s +TIMESTAMP INFO Stage start waiting for executing test at @20s +TIMESTAMP DEBUG stage begin waiting for executing test at @20s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing blob update for blob key pubber_module, version v2 +TIMESTAMP is 1990ms +TIMESTAMP DEBUG Rate-limiting config by 1990ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:c1b619.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:c1b619.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:c1b619.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:c1b619.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:c1b619.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @22s +TIMESTAMP INFO Stage start waiting for config update synchronized at @22s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:916e6956-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:916e6956-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:3d07e0c1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:3d07e0c1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:3d07e0c1 +TIMESTAMP INFO Updated state #008: Changed 4 fields: +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #008: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.00000008 +TIMESTAMP +TIMESTAMP RC:c1b619.00000008 +TIMESTAMP INFO Updated config #005: Changed 1 fields: +TIMESTAMP INFO Updated config #005: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared, last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/config/system as CU:c1b619.00000008 +TIMESTAMP TRACE Received config_system: { +TIMESTAMP TRACE Received config_system: "operation" : "REPLY" +TIMESTAMP TRACE Received config_system: } +TIMESTAMP DEBUG Handling device message config_system CU:c1b619.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:c1b619.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:3d07e0c1-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.parse", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:3d07e0c1-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:3d07e0c1-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:3d07e0c1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:3d07e0c1-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:3d07e0c1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:3d07e0c1-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:3d07e0c1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.0000000c +TIMESTAMP +TIMESTAMP RC:c1b619.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:c1b619.0000000c +TIMESTAMP TRACE Received config_discovery: { +TIMESTAMP TRACE Received config_discovery: "operation" : "REPLY" +TIMESTAMP TRACE Received config_discovery: } +TIMESTAMP DEBUG Handling device message config_discovery CU:c1b619.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:c1b619.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.00000009 +TIMESTAMP +TIMESTAMP RC:c1b619.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:c1b619.00000009 +TIMESTAMP TRACE Received config_pointset: { +TIMESTAMP TRACE Received config_pointset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_pointset: } +TIMESTAMP DEBUG Handling device message config_pointset CU:c1b619.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:c1b619.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.0000000a +TIMESTAMP +TIMESTAMP RC:c1b619.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:c1b619.0000000a +TIMESTAMP TRACE Received config_localnet: { +TIMESTAMP TRACE Received config_localnet: "operation" : "REPLY" +TIMESTAMP TRACE Received config_localnet: } +TIMESTAMP DEBUG Handling device message config_localnet CU:c1b619.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:c1b619.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:51b52959 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:51b52959 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:51b52959 +TIMESTAMP INFO Updated state #009: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: config transactions not cleared +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:51b52959-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "success", +TIMESTAMP TRACE Received state_system: "category" : "system.config.apply", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 300 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:51b52959-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:51b52959-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:51b52959-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:51b52959-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:51b52959-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:51b52959-3 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:51b52959-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:c1b619.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:c1b619.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:c1b619.0000000b +TIMESTAMP +TIMESTAMP RC:c1b619.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:c1b619.0000000b +TIMESTAMP TRACE Received config_blobset: { +TIMESTAMP TRACE Received config_blobset: "operation" : "REPLY" +TIMESTAMP TRACE Received config_blobset: } +TIMESTAMP DEBUG Handling device message config_blobset CU:c1b619.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:c1b619.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:2be40d1e +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:2be40d1e +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:2be40d1e +TIMESTAMP INFO Updated state #010: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.message` = `Received blob update config for pubber_module` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `blobset.blob.receive` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @27s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP DEBUG Config sync took 5s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Update config trigger blob update for pubber_module +TIMESTAMP INFO Device config Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Update config trigger blob update for pubber_module: Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @27s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @29s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @29s +TIMESTAMP TRACE Stage suspend waiting for executing test at @29s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @29s +TIMESTAMP is 1997ms +TIMESTAMP DEBUG Rate-limiting config by 1997ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Recorded sequence: 1. Wait for pubber_module phase is FINAL +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:2be40d1e-0 +TIMESTAMP TRACE Received state_system: { +TIMESTAMP TRACE Received state_system: "hardware" : { +TIMESTAMP TRACE Received state_system: "make" : "BOS", +TIMESTAMP TRACE Received state_system: "model" : "pubber" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "operation" : { +TIMESTAMP TRACE Received state_system: "operational" : true, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "restart_count" : 1, +TIMESTAMP TRACE Received state_system: "mode" : "initial" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "serial_no" : "sequencer-12221", +TIMESTAMP TRACE Received state_system: "software" : { +TIMESTAMP TRACE Received state_system: "firmware" : "v1", +TIMESTAMP TRACE Received state_system: "pubber_module" : "v1" +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP TRACE Received state_system: "status" : { +TIMESTAMP TRACE Received state_system: "message" : "Received blob update config for pubber_module", +TIMESTAMP TRACE Received state_system: "category" : "blobset.blob.receive", +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "level" : 100 +TIMESTAMP TRACE Received state_system: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_system: "version" : "1.5.3" +TIMESTAMP TRACE Received state_system: } +TIMESTAMP DEBUG Handling device message state_system MP:2be40d1e-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:2be40d1e-1 +TIMESTAMP TRACE Received state_discovery: { +TIMESTAMP TRACE Received state_discovery: "families" : { }, +TIMESTAMP", +TIMESTAMP TRACE Received state_discovery: "version" : "1.5.3" +TIMESTAMP TRACE Received state_discovery: } +TIMESTAMP DEBUG Handling device message state_discovery MP:2be40d1e-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:2be40d1e-2 +TIMESTAMP TRACE Received state_localnet: { +TIMESTAMP TRACE Received state_localnet: "families" : { +TIMESTAMP TRACE Received state_localnet: "ether" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "42:01:ac:11:23:ac" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "ipv4" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "172.17.35.172" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "vendor" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "28179023" +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP TRACE Received state_localnet: "bacnet" : { +TIMESTAMP TRACE Received state_localnet: "addr" : "27312" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP TRACE Received state_localnet: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_localnet: "version" : "1.5.3" +TIMESTAMP TRACE Received state_localnet: } +TIMESTAMP DEBUG Handling device message state_localnet MP:2be40d1e-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:2be40d1e-3 +TIMESTAMP TRACE Received state_blobset: { +TIMESTAMP TRACE Received state_blobset: "blobs" : { +TIMESTAMP TRACE Received state_blobset: "pubber_module" : { +TIMESTAMP TRACE Received state_blobset: "phase" : "apply", +TIMESTAMP" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP TRACE Received state_blobset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_blobset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_blobset: } +TIMESTAMP DEBUG Handling device message state_blobset MP:2be40d1e-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:2be40d1e-4 +TIMESTAMP TRACE Received state_pointset: { +TIMESTAMP TRACE Received state_pointset: "points" : { +TIMESTAMP TRACE Received state_pointset: "filter_alarm_pressure_status" : { +TIMESTAMP TRACE Received state_pointset: "units" : "No-units" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_setpoint" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Bars", +TIMESTAMP TRACE Received state_pointset: "value_state" : "applied" +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP TRACE Received state_pointset: "filter_differential_pressure_sensor" : { +TIMESTAMP TRACE Received state_pointset: "units" : "Degrees-Celsius" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP TRACE Received state_pointset: }, +TIMESTAMP", +TIMESTAMP TRACE Received state_pointset: "version" : "1.5.3" +TIMESTAMP TRACE Received state_pointset: } +TIMESTAMP DEBUG Handling device message state_pointset MP:2be40d1e-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:5c5bbcdf +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1042ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1313ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1779ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1775ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 860ms +TIMESTAMP DEBUG device.log: State update defer 859ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 856ms +TIMESTAMP DEBUG device.log: State update defer 856ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 666ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 661ms +TIMESTAMP DEBUG device.log: State update defer 661ms +TIMESTAMP DEBUG device.log: State update defer 660ms +TIMESTAMP DEBUG device.log: State update defer 660ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1500ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1487ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: No fetcher registered for scheme: http +TIMESTAMP ERROR blobset.blob.fetch.failure: No fetcher registered for scheme: http +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer 1572ms +TIMESTAMP DEBUG Handling device message events_system MP:5c5bbcdf +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6273dc2d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6273dc2d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6273dc2d +TIMESTAMP INFO Updated state #011: Changed 8 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `500` +TIMESTAMP INFO Updated state #011: Add `system.status.detail` = `java.lang.IllegalArgumentException: No fetcher registered for scheme: http;` +TIMESTAMP INFO Updated state #011: Set `system.status.message` = `No fetcher registered for scheme: http` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `blobset.blob.fetch.failure` +TIMESTAMP` +TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP INFO Updated state #011: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `java.lang.IllegalArgumentException: No fetcher registered for scheme: http... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @31s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @31s +TIMESTAMP TRACE Stage suspend waiting for executing test at @31s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.receive` at @31s +TIMESTAMP is 1930ms +TIMESTAMP DEBUG Rate-limiting config by 1930ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1042ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_update_unreachable_url) +TIMESTAMP +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP DEBUG device.log: value of noWriteback: false +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1997ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_unreachable_url) +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG blobset.blob.receive: Received blob update config for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.receive` at @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP TRACE Stage suspend waiting for executing test at @33s +TIMESTAMP INFO Stage start waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @33s +TIMESTAMP is 1991ms +TIMESTAMP DEBUG Rate-limiting config by 1991ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch: Fetch blob data for pubber_module +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +TIMESTAMP DEBUG Stage finished waiting for system logs level `DEBUG` category `blobset.blob.fetch` at @35s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @35s +TIMESTAMP TRACE Stage suspend waiting for executing test at @35s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.fetch.failure` at @35s +TIMESTAMP is 1998ms +TIMESTAMP DEBUG Rate-limiting config by 1998ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: false +TIMESTAMP TRACE Updated check config_pointset: false +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: false +TIMESTAMP TRACE Updated check config_blobset: false +TIMESTAMP TRACE Updated check config_discovery: false +TIMESTAMP +TIMESTAMP +TIMESTAMP ERROR blobset.blob.fetch.failure: No fetcher registered for scheme: http +TIMESTAMP ERROR blobset.blob.fetch.failure: No fetcher registered for scheme: http +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.fetch.failure` at @37s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @37s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state indicates error +TIMESTAMP DEBUG stage done waiting for executing test at @37s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_update_unreachable_url PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_update_unreachable_url after @37s ################################ diff --git a/validator/sequences/blob_update_unreachable_url/sequence.md b/validator/sequences/blob_update_unreachable_url/sequence.md new file mode 100644 index 0000000000..2643a51dbe --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/sequence.md @@ -0,0 +1,15 @@ + +## blob_update_unreachable_url (PREVIEW) + +Validates network resilience by providing an unreachable or 404 URL. + +1. Update config trigger blob update for pubber_module + * Add `blobset` = { "blobs": { "pubber_module": { "phase": `final`, "generation": `blob generation`, "sha256": `blob data hash`, "url": `software data` } } } +1. Wait for pubber_module phase transitions +1. Wait for pubber_module phase is FINAL +1. Wait until system logs level `DEBUG` category `blobset.blob.receive` +1. Wait until system logs level `DEBUG` category `blobset.blob.fetch` +1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_update_unreachable_url/state_blobset.attr b/validator/sequences/blob_update_unreachable_url/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_blobset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "blobset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_blobset.json b/validator/sequences/blob_update_unreachable_url/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "apply", + "generation" : "TIMESTAMP" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_discovery.attr b/validator/sequences/blob_update_unreachable_url/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_discovery.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "discovery", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_discovery.json b/validator/sequences/blob_update_unreachable_url/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_discovery.json @@ -0,0 +1,5 @@ +{ + "families" : { }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_localnet.attr b/validator/sequences/blob_update_unreachable_url/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_localnet.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "localnet", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_localnet.json b/validator/sequences/blob_update_unreachable_url/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_localnet.json @@ -0,0 +1,18 @@ +{ + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_pointset.attr b/validator/sequences/blob_update_unreachable_url/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_pointset.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "pointset", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_pointset.json b/validator/sequences/blob_update_unreachable_url/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_pointset.json @@ -0,0 +1,16 @@ +{ + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_system.attr b/validator/sequences/blob_update_unreachable_url/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_system.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "system", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_system.json b/validator/sequences/blob_update_unreachable_url/state_system.json new file mode 100644 index 0000000000..ae818055a0 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-12221", + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "Received blob update config for pubber_module", + "category" : "blobset.blob.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_update.attr b/validator/sequences/blob_update_unreachable_url/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_update.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "update", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_update.json b/validator/sequences/blob_update_unreachable_url/state_update.json new file mode 100644 index 0000000000..2a737e76fb --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_update.json @@ -0,0 +1,77 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "No fetcher registered for scheme: http", + "detail" : "java.lang.IllegalArgumentException: No fetcher registered for scheme: http\n\tat udmi.lib.blob.BlobFetcherRegistry.getFetcher(BlobFetcherRegistry.java:33)\n\tat udmi.lib.blob.intf.BlobLifecycleHandler.fetchBlobData(BlobLifecycleHandler.java:25)\n\tat daq.pubber.impl.blob.PubberBlobLifecycleHandler.fetchBlobData(PubberBlobLifecycleHandler.java:78)\n\tat udmi.lib.client.host.PublisherHost.fetchVerifiedBlob(PublisherHost.java:319)\n\tat udmi.lib.client.host.PublisherHost.lambda$evaluateAndDeployBlob$3(PublisherHost.java:353)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, + "generation" : "TIMESTAMP" + } + } + }, + "discovery" : { + "families" : { } + }, + "localnet" : { + "families" : { + "ether" : { + "addr" : "42:01:ac:11:23:ac" + }, + "ipv4" : { + "addr" : "172.17.35.172" + }, + "vendor" : { + "addr" : "28179023" + }, + "bacnet" : { + "addr" : "27312" + } + } + }, + "pointset" : { + "points" : { + "filter_alarm_pressure_status" : { + "units" : "No-units" + }, + "filter_differential_pressure_setpoint" : { + "units" : "Bars", + "value_state" : "applied" + }, + "filter_differential_pressure_sensor" : { + "units" : "Degrees-Celsius" + } + } + }, + "system" : { + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 1, + "mode" : "initial" + }, + "serial_no" : "sequencer-12221", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v1" + }, + "status" : { + "message" : "No fetcher registered for scheme: http", + "detail" : "java.lang.IllegalArgumentException: No fetcher registered for scheme: http;", + "category" : "blobset.blob.fetch.failure", + "timestamp" : "TIMESTAMP", + "level" : 500 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_validation.attr b/validator/sequences/blob_update_unreachable_url/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_validation.attr @@ -0,0 +1,10 @@ +{ + "deviceId" : "AHU-1", + "deviceNumId" : "123456789101112", + "deviceRegistryId" : "ZZ-TRI-FECTA", + "projectId" : "localhost", + REDACTED_TXN_ID + "publishTime" : "TIMESTAMP", + "subFolder" : "validation", + "subType" : "state" +} \ No newline at end of file diff --git a/validator/sequences/blob_update_unreachable_url/state_validation.json b/validator/sequences/blob_update_unreachable_url/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_update_unreachable_url/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/src/main/java/com/google/daq/mqtt/sequencer/SequenceBase.java b/validator/src/main/java/com/google/daq/mqtt/sequencer/SequenceBase.java index 2a111e4e9d..600c0ffef9 100644 --- a/validator/src/main/java/com/google/daq/mqtt/sequencer/SequenceBase.java +++ b/validator/src/main/java/com/google/daq/mqtt/sequencer/SequenceBase.java @@ -60,6 +60,7 @@ import static org.junit.Assume.assumeTrue; import static udmi.schema.Bucket.SYSTEM; import static udmi.schema.Bucket.UNKNOWN_DEFAULT; +import static udmi.schema.Category.LEVEL; import static udmi.schema.Category.VALIDATION_FEATURE_CAPABILITY; import static udmi.schema.Category.VALIDATION_FEATURE_SCHEMA; import static udmi.schema.Category.VALIDATION_FEATURE_SEQUENCE; @@ -1665,6 +1666,12 @@ protected void waitForLog(String category, Level exactLevel) { LOG_WAIT_TIME, () -> checkLogged(category, exactLevel)); } + protected void waitForLog(String category) { + Level exactLevel = LEVEL.getOrDefault(category, Level.INFO); + waitUntil(format("system logs level `%s` category `%s`", exactLevel.name(), category), + LOG_WAIT_TIME, () -> checkLogged(category, exactLevel)); + } + protected void untilLogged(String category, Level exactLevel) { waitForLog(category, exactLevel); } diff --git a/validator/src/main/java/com/google/daq/mqtt/sequencer/sequences/BlobsetSequences.java b/validator/src/main/java/com/google/daq/mqtt/sequencer/sequences/BlobsetSequences.java index 7e7850664b..af96619978 100644 --- a/validator/src/main/java/com/google/daq/mqtt/sequencer/sequences/BlobsetSequences.java +++ b/validator/src/main/java/com/google/daq/mqtt/sequencer/sequences/BlobsetSequences.java @@ -17,7 +17,15 @@ import static org.junit.Assert.assertTrue; import static udmi.schema.Bucket.ENDPOINT_CONFIG; import static udmi.schema.Bucket.SYSTEM_MODE; +import static udmi.schema.Bucket.SYSTEM_SOFTWARE_UPDATES; import static udmi.schema.Category.BLOBSET_BLOB_APPLY; +import static udmi.schema.Category.BLOBSET_BLOB_FETCH; +import static udmi.schema.Category.BLOBSET_BLOB_FETCH_FAILURE; +import static udmi.schema.Category.BLOBSET_BLOB_FETCH_OVERSIZE; +import static udmi.schema.Category.BLOBSET_BLOB_PARSE_CORRUPT; +import static udmi.schema.Category.BLOBSET_BLOB_PARSE_INCOMPATIBLE; +import static udmi.schema.Category.BLOBSET_BLOB_PARSE_INVALID; +import static udmi.schema.Category.BLOBSET_BLOB_RECEIVE; import static udmi.schema.FeatureDiscovery.FeatureStage.PREVIEW; import com.google.daq.mqtt.sequencer.Feature; @@ -39,6 +47,7 @@ import udmi.schema.BlobBlobsetConfig; import udmi.schema.BlobBlobsetConfig.BlobPhase; import udmi.schema.BlobBlobsetState; +import udmi.schema.BlobUpdateTestingModel; import udmi.schema.BlobsetConfig; import udmi.schema.BlobsetConfig.SystemBlobsets; import udmi.schema.EndpointConfiguration; @@ -50,11 +59,9 @@ import udmi.schema.Level; import udmi.schema.Operation.SystemMode; - /** * Validation tests for instances that involve blobset config messages. */ - public class BlobsetSequences extends SequenceBase { public static final String JSON_MIME_TYPE = "application/json"; @@ -387,4 +394,157 @@ private void check_system_restart() { untilTrue("last_start is newer than previous last_start", () -> deviceConfig.system.operation.last_start.after(last_start)); } + + private BlobUpdateTestingModel getUpdateTarget(String targetType) { + ifTrueSkipTest( + deviceMetadata.testing == null || deviceMetadata.testing.blob_update_targets == null, + "No blob update targets defined in metadata"); + BlobUpdateTestingModel target = deviceMetadata.testing.blob_update_targets.get(targetType); + ifNullSkipTest(target, "No blob update target defined for type '" + targetType + "'"); + return target; + } + + private void setDeviceConfigSoftwareBlob(String blobName, String url, String sha256) { + BlobBlobsetConfig config = new BlobBlobsetConfig(); + config.url = SemanticValue.describe("software data", url); + config.phase = BlobPhase.FINAL; + config.generation = SemanticDate.describe("blob generation", new Date()); + config.sha256 = SemanticValue.describe("blob data hash", sha256); + + BlobsetConfig blobset = new BlobsetConfig(); + blobset.blobs = new HashMap<>(); + blobset.blobs.put(blobName, config); + deviceConfig.blobset = blobset; + } + + private String executeBlobUpdate(BlobUpdateTestingModel target) { + String blobName = target.blob_name; + String url = target.url; + String sha256 = target.sha256; + + setDeviceConfigSoftwareBlob(blobName, url, sha256); + updateConfig("trigger blob update for " + blobName); + + untilTrue(blobName + " phase transitions", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); + return blobBlobsetState != null && (BlobPhase.APPLY.equals(blobBlobsetState.phase) + || BlobPhase.FINAL.equals(blobBlobsetState.phase)); + }); + + untilTrue(blobName + " phase is FINAL", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); + return blobBlobsetState != null && BlobPhase.FINAL.equals(blobBlobsetState.phase); + }); + + return blobName; + } + + private void verifyBlobUpdateSequence(BlobUpdateTestingModel target, boolean expectSuccess, + String... expectedLogs) { + info(format("Testing blob update for blob key %s, version %s", target.blob_name, + target.version)); + + String blobName = executeBlobUpdate(target); + + for (String logCategory : expectedLogs) { + waitForLog(logCategory); + } + + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); + + if (expectSuccess) { + checkThat(blobName + " state is success", () -> blobBlobsetState.status == null); + checkThat(blobName + " software version reflects update", () -> { + String softwareVersion = deviceState.system.software.get(blobName); + return target.version.equals(softwareVersion); + }); + } else { + checkThat(blobName + " state indicates error", () -> + blobBlobsetState.status != null && blobBlobsetState.status.level >= Level.ERROR.value()); + } + } + + private void verifyBlobUpdateSequence(String targetType, boolean expectSuccess, + String... expectedLogs) { + verifyBlobUpdateSequence(getUpdateTarget(targetType), expectSuccess, expectedLogs); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates a successful blob update where the device fetches, applies, " + + "and reports the new version.") + public void blob_update_success() { + verifyBlobUpdateSequence("success", true, + BLOBSET_BLOB_RECEIVE, BLOBSET_BLOB_FETCH, BLOBSET_BLOB_APPLY); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates tamper protection by providing a valid URL but an incorrect SHA-256 hash.") + public void blob_update_invalid_hash() { + verifyBlobUpdateSequence("fail_hash", false, + BLOBSET_BLOB_RECEIVE, BLOBSET_BLOB_FETCH, BLOBSET_BLOB_PARSE_CORRUPT); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates network resilience by providing an unreachable or 404 URL.") + public void blob_update_unreachable_url() { + verifyBlobUpdateSequence("fail_fetch", false, + BLOBSET_BLOB_RECEIVE, BLOBSET_BLOB_FETCH, BLOBSET_BLOB_FETCH_FAILURE); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates format and signature checking by providing a dummy payload.") + public void blob_update_invalid_payload() { + verifyBlobUpdateSequence("fail_parse", false, + BLOBSET_BLOB_RECEIVE, BLOBSET_BLOB_FETCH, BLOBSET_BLOB_PARSE_INVALID); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates reporting of incompatibility for a blob update.") + public void blob_update_incompatible() { + verifyBlobUpdateSequence("fail_incompatible", false, + BLOBSET_BLOB_RECEIVE, BLOBSET_BLOB_FETCH, BLOBSET_BLOB_PARSE_INCOMPATIBLE); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates reporting of an oversized payload fetch failure.") + public void blob_update_oversize() { + verifyBlobUpdateSequence("fail_oversize", false, + BLOBSET_BLOB_RECEIVE, BLOBSET_BLOB_FETCH, BLOBSET_BLOB_FETCH_OVERSIZE); + } + + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + @Summary("Validates that a previously applied blob config is not reapplied.") + public void blob_update_idempotency() { + // Standard successful update + verifyBlobUpdateSequence("success", true, + BLOBSET_BLOB_RECEIVE, + BLOBSET_BLOB_FETCH, + BLOBSET_BLOB_APPLY + ); + + // Resend the exact same config + BlobUpdateTestingModel target = getUpdateTarget("success"); + updateConfig("trigger redundant update to check for idempotency"); + + sleepFor("waiting for device to process update", Duration.ofSeconds(10)); + + untilTrue(target.blob_name + " phase is FINAL", () -> { + BlobBlobsetState blobState = deviceState.blobset.blobs.get(target.blob_name); + return blobState != null && BlobPhase.FINAL.equals(blobState.phase); + }); + + // No new lifecycle logs should have been emitted + checkWasNotLogged(BLOBSET_BLOB_RECEIVE, Level.DEBUG); + checkWasNotLogged(BLOBSET_BLOB_FETCH, Level.DEBUG); + checkWasNotLogged(BLOBSET_BLOB_APPLY, Level.INFO); + } + }