From a7f7fb11507ee72857f05206c8feaf19569fa43e Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 7 Apr 2026 06:54:34 +0000 Subject: [PATCH 01/22] Enable ota blob updates in pubber --- .gencode_hash.txt | 48 +- .github/workflows/testing.yml | 36 +- bin/test_ota_updates | 116 + docs/specs/buckets.md | 2 + docs/specs/categories.md | 7 + gencode/docs/commands_mapping.html | 292 +- gencode/docs/configuration_execution.html | 418 +- gencode/docs/events.html | 10140 +++++++------ gencode/docs/events_discovery.html | 2724 +++- gencode/docs/events_mapping.html | 292 +- gencode/docs/events_system.html | 334 +- gencode/docs/events_udmi.html | 334 +- gencode/docs/events_validation.html | 626 +- gencode/docs/metadata.html | 12661 +++++++++------- gencode/docs/monitoring.html | 418 +- gencode/docs/persistent_device.html | 33 + gencode/docs/state.html | 10468 ++++++++----- gencode/docs/state_mapping.html | 376 +- gencode/docs/state_validation.html | 8534 +++++++---- gencode/java/udmi/schema/Bucket.java | 6 + gencode/java/udmi/schema/Category.java | 36 + .../java/udmi/schema/DevicePersistent.java | 9 +- gencode/java/udmi/schema/OtaTestingModel.java | 133 + gencode/java/udmi/schema/TestingModel.java | 9 +- gencode/python/poetry.lock | 94 - gencode/python/udmi/schema/__init__.py | 1 + gencode/python/udmi/schema/bucket.py | 8 + gencode/python/udmi/schema/category.py | 18 + gencode/python/udmi/schema/model_testing.py | 4 +- .../python/udmi/schema/model_testing_ota.py | 28 + .../python/udmi/schema/persistent_device.py | 3 +- .../java/daq/pubber/impl/PubberManager.java | 2 + .../pubber/impl/host/PubberPublisherHost.java | 115 + .../impl/manager/PubberSystemManager.java | 31 +- .../udmi/lib/client/host/PublisherHost.java | 135 +- schema/category.json | 6 + schema/model_testing.json | 6 + schema/model_testing_ota.json | 30 + schema/persistent_device.json | 4 + 39 files changed, 30953 insertions(+), 17584 deletions(-) create mode 100755 bin/test_ota_updates create mode 100644 gencode/java/udmi/schema/OtaTestingModel.java delete mode 100644 gencode/python/poetry.lock create mode 100644 gencode/python/udmi/schema/model_testing_ota.py create mode 100644 schema/model_testing_ota.json diff --git a/.gencode_hash.txt b/.gencode_hash.txt index e28f07bf5b..1cb7db2ec3 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -1,22 +1,22 @@ 5c70161462ba15e3fd390ee725a721d35e95fa675e225fb30a605b5399b5a36e gencode/docs/building_config_entity.html c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/commands_discovery.html -7bd462fd9b31a1a35b27f069194051161c484600161d7ef3fa7a4f8efa4e65fb gencode/docs/commands_mapping.html +2d700fe86f39ed9563ae4286861f85094b51db5e1c514f073f554f4c6ff8604b gencode/docs/commands_mapping.html 2e4d35c12da77f4de02a6504ab915c0dc82ba07fe7fe28f92afaa67b90095e9c gencode/docs/config.html 0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html -7caf6f29bff7c358536444c0d8502169f708bcc6f32a3d0a8aae155708b2cd04 gencode/docs/configuration_execution.html +654866c5fd678c75cf821a9abb257dde6907542fc91e525a9170ad1f6297b525 gencode/docs/configuration_execution.html 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html -ab67acd56a1e1aacf819b2dade143dfd271107d512d8c9992c1fee4eab8bfce9 gencode/docs/events.html -98a4b1cf7b3f1f9f701d0a839fb88f88a50c970762eab9d9bda3789bd50205a1 gencode/docs/events_discovery.html -e550539d52ce1f63b35247d425c038e5d5ba33f997eedd09e486a3bd9838c2c2 gencode/docs/events_mapping.html +f41491a13c6268919608e144495a7dda5a767429125ac1624ccae91ee5158a50 gencode/docs/events.html +5bad31cd6d7850772636d7bdd0b9984abf57af37944227fa5ef7245551ec59dd gencode/docs/events_discovery.html +2113af96909f9669bd0409545df9d4aa196cce18e5db1a4041f5267fa1d26b25 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 -6dfa8c2ceddd3d25fd03307d679f7e026905c52879696ec232468900c328201a gencode/docs/metadata.html -c86682715d348bd3dd971fa5bd925a8a3d0f3c2944c65a47c4b64fe1a5ccdea2 gencode/docs/monitoring.html -474ca16edc9f3cad2bb3ab40b6993cbced90263f762f66ee6cd246a6c4a0d18f gencode/docs/persistent_device.html +45996a14e9172e5178fb998d78df1903c73009149b30f06c89a8bf576cc82719 gencode/docs/events_system.html +da80d985eb1999e8d73670ed80648fe1d5973f6d7670306705b5877f146178f0 gencode/docs/events_udmi.html +f0804293697440d108456fa11d1d59da1efa76bb53fa26dea839157e457a696c gencode/docs/events_validation.html +9381542af90937225b9c2ee05777bce5120f3781e3d0614969e1f04d1ac750f9 gencode/docs/metadata.html +36d3b11c2e07721aa33b6095e4c92bd1547eef3d46b1d4c2ba201ed958401404 gencode/docs/monitoring.html +7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/query_cloud.html 9bd8f0df472e9bb98dd547afd0e9561bc96b423eebd5cafde14b374ab408a3c0 gencode/docs/readme.md @@ -24,9 +24,9 @@ c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/q 165a29291d7d66653e46fd1ac5868f63e18f9d67c06ea9ebcb95d4830a528e68 gencode/docs/schema_doc.min.js 7ed934930aee763e0beebc349725ba3909115e8d346bb762f28bcbe745bb163a gencode/docs/schema_extras.js 7a1bbe014c739078d354ec484147325e1d0bd19468f275a53da38add43ebe089 gencode/docs/site_metadata.html -741de67fe3d920ba3ff8b3cd38f6b5d50f87e2b2045690493a3cac193e13562e gencode/docs/state.html -a47043c68388aa21f5c906e9aa773ed3defb9239771d604153d5d4006e0e4fb9 gencode/docs/state_mapping.html -0b18cfdc1e87e61e696f35d9edd11ffec19dac82260e6f33e8c154dc676f5cc8 gencode/docs/state_validation.html +d6c57e0414340db76ffa66aa51be6b8f13b8d02e83a4b02a8a943bdd26bb62e7 gencode/docs/state.html +f6f941a17319e9f0a91cb5d9e5874b01e96544fb17f214e1b19cf9186bbb6ca5 gencode/docs/state_mapping.html +5eff3ed127c61a85144035a4608fd1467262a1f4bc3612a97885a769a1f9dd3a gencode/docs/state_validation.html 0e0d87fa6bc2f746eaacfbcd0f1258c9c6beee2b03d995868af9aafcbc4a88dc gencode/java/udmi/schema/Area.java 768d8b010bc90c5fbe198daf58f3847247ecc620a6fc046fffba877399cf1888 gencode/java/udmi/schema/Asset.java e82d4e13a59ffbdfe412c46977b69e8dddb803a4cb7cbfe4ae84c91a3c5b108b gencode/java/udmi/schema/Auth_provider.java @@ -37,11 +37,11 @@ fa94295bc0c97518634c7232e7e55e1c923d7eb42bfa3004651ed183e1ccbb40 gencode/java/u 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 +9814060e982938142ba398e1e31ed4fa176d347012af43685c37126152f0a9dd gencode/java/udmi/schema/Category.java 0101d742dbaa23fb2152b044e5eabd6d219047cddbb973e9626a026946b7ddfc gencode/java/udmi/schema/CloudModel.java 051b4a7c85a2f1a310787f88f336be2fc9b87c99a94ac2f970955d2fe1daa931 gencode/java/udmi/schema/CloudQuery.java 3e6572b16184bde7557eb67334405e7c5b58446e64802658cf0d5ef3b0018909 gencode/java/udmi/schema/Common.java @@ -52,7 +52,7 @@ c44f25ab2b9f17ea18c7cd5b78e4c5565ba4ecc20d426105d778c28bb6b32263 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 @@ -100,6 +100,7 @@ a64167bfcec809442cff132bb59ae0600055731407858656cc7147c3a38bb7cc gencode/java/u e986aff1efca08188441a246392f8c524c2cdaae107e475657402872a9a01561 gencode/java/udmi/schema/Monitoring.java 25210c7f94b6369c43c68ed1fefba1ab3dedfe3201352055c536fd5225a4c590 gencode/java/udmi/schema/MonitoringMetric.java aa359e7906a73519482c4eefc717c49c8ef96d288a285cf126605a45201c22b2 gencode/java/udmi/schema/Operation.java +a7729616964aefae47072caf4ce5fd8d58fa192f5514e91cfab0985b4204c21f gencode/java/udmi/schema/OtaTestingModel.java d48a48484965295327ef553a4f8552c44b9345224d7dbb847877c68c1e1b307e gencode/java/udmi/schema/Parameters.java 66ffb9033bcd715dd53e228986c40d2f9b314e01b32c25103b4dadc9bd0e97a5 gencode/java/udmi/schema/Parent.java 416ce4431c48d2b8d3165ba6de7b4665fd3fc2bcd03f01009bd4147f393fbc4c gencode/java/udmi/schema/Physical_tag.java @@ -138,7 +139,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 +da0e0ab6e2056060cd8c392b4534fa43bf9f82f370976175643dd8822735132e 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 @@ -150,14 +151,14 @@ eadc72e31b4796273479967303513b16563af0f946d1e1c7eba1748f9b133d40 gencode/java/u 11f8dab5296d41e86cd623a4ed27b972ae673b141907cb913397d4eb53880c59 gencode/java/udmi/schema/Water.java d2a53a067185447ce672e5521cdb073a2b2100b9384b68e87211cafc5ef8cb2a gencode/presentation/presentation.json 4cf98cbd132cde0cc8813ac35cf3712cb46014154c817c04ad2902c268cdd8fe gencode/python/pyproject.toml -bb97256e4fcefa7616773db613a154baeb147b013b38c0ad498f8847b12ca65a gencode/python/udmi/schema/__init__.py +30bbf1cb889ff83eeaca848ad6a20775ab1a527b6eb344b8e6b58f8cea234503 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 +4c4c338c5b93bc4721421d827d01f5512bee2a585d9e75ae0602d2a7fbf6c14e 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 @@ -218,12 +219,13 @@ cc066d030bd658052bcd79437af41557e71dc30c9111b157e408b619912ddcc1 gencode/python f65ab38c968d1dc2ffb2d3eaf632f401e2b722ff0d6fe69abf20227f694c0d33 gencode/python/udmi/schema/model_policy.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 +3fe150f9d2dee2315b8719d40468fd2a5f43e2e1c8ac4ab0c170bbaa80d1e36d gencode/python/udmi/schema/model_testing.py +42472e97ff4e29dc24a22cb78d15aaa664c8c0fa2c0261f7b30a47319ac3edbb gencode/python/udmi/schema/model_testing_ota.py 345ee1c07dc58c9a2daabf0820e15d881c4af271a8ea85044c45cd4dca3c0afa gencode/python/udmi/schema/model_testing_target.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 018a0fd4a2..b13fe64685 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -319,11 +319,45 @@ jobs: name: udmi-support_${{ github.run_id }}-r path: '*_udmi-support_*.tgz' + ota: + name: OTA Updates + runs-on: ubuntu-24.04 + timeout-minutes: 15 + env: + UDMI_ALT_REGISTRY: ZZ-REDIRECT-NA + TARGET_PROJECT: //mqtt/localhost + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + 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_ota_updates + run: bin/test_ota_updates $TARGET_PROJECT + - name: pubber.log + if: ${{ !cancelled() }} + run: more out/pubber.log* | cat + - name: support bundle + if: ${{ !cancelled() }} + run: UDMI_REGISTRY_SUFFIX=_ota bin/support ${{ github.repository_owner }}_${{ github.job }}_ + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + if-no-files-found: error + name: udmi-support_${{ github.run_id }}-ota + 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, ota ] if: ${{ !cancelled() && vars.TARGET_PROJECT != '' }} env: TARGET_PROJECT: ${{ vars.TARGET_PROJECT }} diff --git a/bin/test_ota_updates b/bin/test_ota_updates new file mode 100755 index 0000000000..7852d3696e --- /dev/null +++ b/bin/test_ota_updates @@ -0,0 +1,116 @@ +#!/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 + +# Get an existing commit hash from the source repo +target_commit=$(git rev-parse HEAD~1) + +# Clean up previous runs +rm -f out/pubber.log.* +rm -f out/blobs.json +pubber_log=out/pubber.log.${serial_no} + +# Run pubber in background +log "Starting pubber with serial $serial_no..." +bin/pubber $site_path $project_spec $device_id $serial_no > $pubber_log 2>&1 & +pubber_pid=$! + +# Wait for pubber to start +log "Waiting for pubber to start..." +sleep 20 + +if [ ! -d "out/pubber_module_repo/.git" ]; then + fail "Pubber did not initialize the software module repo." +fi + +log "Target commit for OTA: $target_commit" + +# Generate config for OTA +log "Generating OTA config..." +base64_payload=$(echo -n $target_commit | base64 -w 0) +sha256_payload=$(echo -n $target_commit | openssl sha256 | awk '{print $2}') +generation_payload=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + +cat < out/blobs.json +{ + "blobset": { + "blobs": { + "pubber_module": { + "phase": "final", + "url": "data:application/json;base64,$base64_payload", + "sha256": "$sha256_payload", + "generation": "$generation_payload" + } + } + } +} +EOF + +# Merge config +out_base=$site_path/devices/$device_id/out +config_base=$site_path/devices/$device_id/config +mkdir -p $config_base + +# Clean up old ota config +rm -f $config_base/ota_config.json + +if [ -f $out_base/generated_config.json ]; then + jq -s '.[0] * .[1]' $out_base/generated_config.json out/blobs.json > $config_base/ota_config.json +else + cp out/blobs.json $config_base/ota_config.json +fi + +log "Applying OTA config..." +bin/reset_config $site_path $project_spec $device_id ota_config.json + +# Wait for pubber to react +log "Waiting for pubber to process OTA..." +sleep 20 + +# Verify logs +log "Verifying logs..." +if grep -q "Triggering Git OTA update to commit $target_commit" $pubber_log; then + log "OTA trigger detected." +else + fail "OTA trigger NOT detected." +fi + +if grep -q "Git OTA update completed successfully" $pubber_log; then + log "OTA success detected." +else + fail "OTA 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 "OTA state phase: FINAL verified in state.json" +else + fail "OTA state phase: FINAL NOT found in state.json" +fi + +log "OTA test passed!" + +echo Cleaning up pubber processes... +(ps ax | fgrep pubber | fgrep java) || true +kill $(ps ax | fgrep pubber | fgrep java | awk '{print $1}') || true 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..4b4a4c21bf 100644 --- a/docs/specs/categories.md +++ b/docs/specs/categories.md @@ -58,7 +58,14 @@ could be used with a **WARNING** level for a warning case during normal operatio * _blob_: Conditions specific to an individual blob * _receive_: (**DEBUG**) About receiving a blob update * _fetch_: (**DEBUG**) Fetching a blob update + * _success_: (**DEBUG**) Successfully fetched a blob + * _failure_: (**ERROR**) Blob fetch failed + * _verify_: Verifying a blob + * _parse_: (**ERROR**) Error parsing blob + * _hash_: (**ERROR**) Blob hash mismatch + * _compatibility_: (**ERROR**) Hardware or dependency mismatch * _apply_: (**NOTICE**) Applying a blob update + * _abort_: (**NOTICE**) Aborting/Cancelling a blob update * _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/gencode/docs/commands_mapping.html b/gencode/docs/commands_mapping.html index 66bd215042..de6b3d3d6e 100644 --- a/gencode/docs/commands_mapping.html +++ b/gencode/docs/commands_mapping.html @@ -504,6 +504,36 @@

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 +
@@ -1578,7 +1608,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -1618,7 +1648,7 @@

/> item 27

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

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

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

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

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

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

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -1898,7 +1928,7 @@

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

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -1978,7 +2008,247 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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..7500b74a21 100644 --- a/gencode/docs/configuration_execution.html +++ b/gencode/docs/configuration_execution.html @@ -4465,6 +4465,36 @@

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 +
@@ -6106,7 +6136,7 @@

/> item 26

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

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -6289,7 +6319,7 @@

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

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

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

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

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -6594,7 +6624,7 @@

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

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -6716,7 +6746,373 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 ee6ae82e58..58145f1fac 100644 --- a/gencode/docs/events.html +++ b/gencode/docs/events.html @@ -650,6 +650,36 @@

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 +
@@ -2102,7 +2132,7 @@

/> item 26

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

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -2264,7 +2294,7 @@

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

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

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

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

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2534,7 +2564,7 @@

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

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -2642,37 +2672,16 @@

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

- -

-
- -
-
+
+ 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: ^validation\.device\.extra$ -
-
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: ^validation\.summary\.report$ -
-
-
- -
-
-
-

- -

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

- -

-
- -
-
- - Type: number
- + oneOf + + + + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
-
-
-
-
-

- -

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

- -

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

- -

-
- -
-
+
+ Type: number
- + Entry + + + + category + + + + oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: number
+ Entry + + + + category + + + + oneOf + + + + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + +
+ @@ -3096,26 +3014,18 @@

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

- +

-
+

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

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

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

@@ -3174,25 +3066,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: string
-

Original version of schema pre-upgrade

+ event_no
Type: integer
+

Sequence number for this event

@@ -3263,18 +3179,18 @@

-
+
-
+

- +

-
+
Type: boolean
-

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

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

- +

-
+
Type: object
-

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

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

- +

-
-

- -

-

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

-
+ mem_free_mb
Type: number
- 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: number
+ + + + + + + +
+
+
+
+
+
+
+

+ +

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

+ +

+
+ +
+
+ + Type: string
+ system_load
Type: number
@@ -3508,9 +3446,31 @@

-

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

+ +

+
+ +
+

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: boolean
- - - - - - - -
- - - Type: number
- - - - + version
Type: string
+

Version of the UDMI schema

+
-
- - -
-
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

+ upgraded_from
Type: string
+

Original version of schema pre-upgrade

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

- +

-
+
Type: string
-

Version of the UDMI schema

+ partial_update
Type: boolean
+

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

@@ -3765,18 +3658,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

The event's discovery scan trigger's generation timestamp

-
+ points
Type: object
+

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

+
No Additional Properties -
-
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]+)*$ +

Entry

Type: object
- + points + + + + Point Pointset Events

Point Pointset Events

Type: object
+

Object representation for for a single point

+
No Additional Properties @@ -3848,18 +3746,18 @@

-
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

-
+ Point Pointset Events + + + + present_value

+

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: string
+ + + + + + + +
+ + + Type: boolean
+ + + + + + + +
+ + + Type: number
+ + + + + + + +

-
Example:
-
"Point is not writable"
+
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: 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$ + + + + + + +
+ + + 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: string
-

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

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

- -

-
- -
-
+
+

Category

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

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -4222,7 +5405,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -4269,7 +5452,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -4316,7 +5499,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -4363,7 +5546,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -4410,7 +5593,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -4457,7 +5640,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -4504,7 +5687,7 @@

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

+ id="tab-pane_discovery_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -4598,7 +5781,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -4645,7 +5828,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -4692,7 +5875,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -4739,7 +5922,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -4786,7 +5969,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -4833,7 +6016,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -4880,7 +6063,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -4927,7 +6110,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -4974,7 +6157,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -5021,7 +6204,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -5068,7 +6251,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -5115,7 +6298,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -5162,7 +6345,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -5209,7 +6392,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -5256,7 +6439,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -5303,7 +6486,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -5350,7 +6533,7 @@

+ id="tab-pane_discovery_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 42
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: object
-Must match regular expression: ^blobset\.blob\.apply$ + 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:
+
600
+
+
+
+
+
+ + + + + +
+
+
+

+ +

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

+ +

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

The primary address of the device (for indicated family)

+
-
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: string
+

The family network designator of the discovered device

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

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^validation\.device\.schema$ + event_no
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]+)*$ +
+ + Type: object
-Must match regular expression: ^validation\.device\.content$ + Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

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

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.device\.multiple$ + 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\.device\.extra$ + ref
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 + + + + + + +
+
+
+

+ +

+
+ +
+

+ +

+

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\.summary\.report$ + 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: ^validation\.feature\.sequence$ + functions_ver
Type: integer
+

Function version of this request

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.schema$ + 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: ^validation\.feature\.capability$ + device_key
Type: boolean
+

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

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
@@ -5924,18 +7381,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

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

+ Cloud Model + + + + gateway

Gateway Model

Type: object
+

Gateway Documentation

+ + No Additional Properties -
-
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
- + 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: string
-

The primary address of the device (for indicated family)

+ registries + + + + Cloud Model + + + + gateway + + + + target

Family Localnet Model

Type: object
+

The type of network

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

- +

-
+
Type: string
-

The family network designator of the discovered device

+ registries + + + + Cloud Model + + + + gateway + + + + target + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

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

- +

-
+
Type: integer
-

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

+ registries + + + + Cloud Model + + + + 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
-

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 + 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
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + ^[a-z_]+$
Type: string
+ @@ -6397,22 +7858,18 @@

-
-
-
-
-
+
-
+

- +

-
+
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.

+ target + + + + shadow_id
Type: string
+

Specifies that this is a shadow of the indicated device

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

- +

-
+
Type: integer
-

Function version of this request

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

The device id of the node's parent

@@ -6544,18 +7996,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ gateway + + + + target + + + + family
Type: string
+

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

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

- +

-
+
Type: boolean
-

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

+ 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: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ gateway + + + + proxy_ids + + + + proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ +
+

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

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

+ config

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

No Additional Properties @@ -6768,18 +8256,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]*$ + static_file
Type: string
+

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

+
-
-
Example:
-
"GAT-100"
-
+ +
+
+

-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

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

- +

-
+
Type: string
-

The address of a device on the fieldbus/local network

-
+ detail
Type: string
+ -
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

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

-
+ updated_time
Type: stringFormat: date-time
+ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
+
-
+
-
+

- +

-
+
Type: object
- No Additional Properties + last_state_time
Type: stringFormat: date-time
+ -
+
+
+
+
+
-
+

- +

-
-

- -

-

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

- Property name regular expression: ^[a-z_]+$ -
+
+
Type: string
+ last_config_time
Type: stringFormat: date-time
@@ -7188,22 +8592,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ last_error_time
Type: stringFormat: date-time
+ @@ -7261,18 +8646,18 @@

-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

-
+ num_id
Type: string
+ @@ -7330,18 +8700,18 @@

-
+
-
+

- +

-
+
Type: string
-

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

-
+ 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:
-
"ipv4"
-
-
"bacnet"
-
-
-
-
-
-
+
-
+
-
+

- +

-
+
Type: array of string
-

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

+ metadata_str
Type: string
+

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

- No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

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

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

+
-
-

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

- +

-
-
+
+

+ +

+

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

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

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
+ device_ids + + + + ^[-._a-zA-Z0-9]+$
Type: object
- No Additional Properties -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+

- +

-
+
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
-

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

+ Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

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

- +

-
+
Type: boolean
- + functions_ver
Type: integer
+

Function version of this request

+
@@ -7710,18 +9086,18 @@

-
+
-
+

- +

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

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
@@ -7764,18 +9144,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + device_key
Type: boolean
+

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

+
@@ -7818,18 +9199,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
@@ -7872,18 +9257,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
+ gateway

Gateway Model

Type: object
+

Gateway Documentation

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

- +

-
+
Type: stringFormat: date-time
- + 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"
+
+
-
+
-
+

- +

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

Family Localnet Model

Type: object
+

The type of network

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

- +

-
+

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 + + + + addr
Type: string
+

The address of a device on the fieldbus/local network

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

- +

-
+
Type: string
-

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

+ 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
-

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

-
+ 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-zA-Z0-9]+$ + Property name regular expression: ^[a-z_]+$
Type: object
+ target + + + + adjunct + + + + ^[a-z_]+$
Type: string
@@ -8269,26 +9734,18 @@

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

- +

-
+
Type: object
-

Device iot cloud models

-
No Additional Properties + devices + + + + Cloud Model + + + + gateway + + + + target + + + + 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]{2,6}-[1-9][0-9]*$ -
+
+

Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

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

The device id of the node's parent

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

- +

-
+
Type: integer
-

Function version of this request

+ gateway + + + + target + + + + family
Type: string
+

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

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

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ 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: boolean
-

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

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

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

- +

-
+
Type: enum (of string)
-

The cloud resource type

-
-

Must be one of:

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

Config Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

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

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

+ config + + + + static_file
Type: string
+

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

- - 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]*$ + blocked
Type: boolean
+ -
-
Example:
-
"GAT-100"
-
-
+
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

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

- +

-
+
Type: string
-

The address of a device on the fieldbus/local network

-
+ updated_time
Type: stringFormat: date-time
+ -
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

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

-
+ last_state_time
Type: stringFormat: date-time
+ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
-
-
+
-
+
-
+

- +

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

- +

-
-

- -

-

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

- Property name regular expression: ^[a-z_]+$ -
+
+
Type: string
+ last_error_time
Type: stringFormat: date-time
@@ -9064,22 +10522,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ num_id
Type: string
+ @@ -9137,18 +10576,18 @@

-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

-
+ /> + + operation

Model Operation

Type: enum (of string)
+ + +
+

Must be one of:

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

-
+
-
+

- +

-
+
Type: string
-

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

+ metadata_str
Type: string
+

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

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

- +

-
+
Type: array of string
-

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

+ device_ids
Type: object
+

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

- 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: string
-Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ + ^[-._a-zA-Z0-9]+$
Type: object
+ +
-

-
Example:
-
[
-    "AHU-22"
-]
-
+
@@ -9413,18 +10815,22 @@

-
+
+
+
+
+
-
+

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

-
- - No Additional Properties + 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]+)*$ +
Type: string
-

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

+ Point Pointset Model

Point Pointset Model

Type: object
+

Information about a specific point name of the device.

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

- +

-
+
Type: boolean
- + units
Type: string
+

Expected unit configuration for the point

+
@@ -9586,18 +10962,18 @@

-
+
-
+

- +

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

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
@@ -9640,18 +11020,18 @@

-
+
-
+

- +

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

Detailed description of this point

+
@@ -9694,18 +11075,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + writable
Type: boolean
+

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

+
@@ -9748,18 +11130,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + baseline_value
Type: object
+

Represents the expected baseline value of the point

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

- +

-
+
Type: stringFormat: date-time
- + baseline_tolerance
Type: number
+

Maximum deviation from baseline_value

+
- +
+
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"
+
@@ -9910,18 +11306,18 @@

-
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

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

Represents the lower bound of the error threshold for a point

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

- +

-
+
Type: string
-

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

+ range_max
Type: number
+

Represents the upper bound of the error threshold for a point

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

- +

-
+
Type: object
-

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

+ unchanged_limit_sec
Type: integer
+

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

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

- +

-
-

- -

-

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

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

- +

-
+
Type: object
-

Information about a specific point name of the device.

-
No Additional Properties + points + + + + Point Pointset Model + + + + ref
Type: string
+

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

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

- +

-
-

- -

-

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 + Point Pointset 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: string
-

Expected unit configuration for the point

-
+ adjunct + + + + ^[a-z_]+$
Type: string
+ @@ -10296,18 +11719,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: enum (of string)
-

Expected data type for the point

-
-

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
-
+ tags
Type: array
+

Tags assosciated with the point

+
- -
-
-
-
-
+

All items must be unique

No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

Detailed description of this point

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

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

- +

-
+
Type: boolean
-

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

-
+ 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: object
-

Represents the expected baseline value of the point

+ structure + + + + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

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

- +

-
+
Type: number
-

Maximum deviation from baseline_value

-
+ structure + + + + Ref Discovery + + + + point
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ -
-
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"
-
+ structure + + + + Ref Discovery + + + + name
Type: string
+

Friendly name for the reference, if known

+
@@ -10640,18 +12092,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: number
-

Represents the lower bound of the error threshold for a point

+ structure + + + + Ref Discovery + + + + possible_values
Type: array of string
+

List of possible enumerated values for the point

-
-
Example:
-
0
-
-
-
-
-
-
-
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: number
-

Represents the upper bound of the error threshold for a point

-
+ structure + + + + Ref Discovery + + + + possible_values + + + + possible_values items
Type: string
+ -
-
Example:
-
100
-
-
+ +
+
-
+
-
+

- +

-
+
Type: integer
-

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

+ structure + + + + Ref Discovery + + + + units
Type: string
+

Current or default unit for this point

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

- +

-
+
Type: number
-

Triggering threshold for partial cov update publishing

+ ref
Type: string
+

Family reference for structures

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

- +

-
+
Type: string
-

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

+ structure + + + + Ref Discovery + + + + type
Type: string
+

Current or default type for this point

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

- +

-
+
Type: object
- No Additional Properties + structure + + + + Ref Discovery + + + + writable
Type: boolean
+

Indicates if this point is writable or not

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

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

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

Human-readable description of this point

+
@@ -11053,22 +12569,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: array
-

Tags assosciated with the point

-
+ structure + + + + Ref Discovery + + + + status

Entry

Type: object
+ + + 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]+$ + Ref Discovery + + + + status + + + + message
Type: string
+

A human-readable one-line description of the entry

+
- -
-

-
Examples:
-
[
-    "lighting"
-]
-
-
[
-    "energy",
-    "hvac"
-]
+        
+
Example:
+
"Point is not writable"
 
-
+
-
+

- +

-
+
Type: object
-

Collection of family point information

-
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-zA-Z0-9]+$ -
+
+

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

-
- - No Additional Properties - - - - + Ref Discovery + + + + status + + + + category

Category

Type: string
- -
-
-
-

- -

-
-
-
+

+ +

+
+ 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 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ 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 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Current or default unit for this point

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

- -

-
- -
-
- - Type: string
-

Family reference for structures

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

- -

-
- -
-
+
+ Type: string
-

Current or default type for this point

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

- -

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

Indicates if this point is writable or not

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

- -

-
- -
-
- - Type: string
-

Human-readable description of this point

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

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
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 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

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

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -12455,7 +13826,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -12530,7 +13901,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -12605,7 +13976,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -12680,7 +14051,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -12755,7 +14126,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -12830,7 +14201,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -12905,7 +14276,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -12980,7 +14351,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -13055,7 +14426,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -13130,7 +14501,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -13205,7 +14576,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -13280,7 +14651,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -13355,7 +14726,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -13430,7 +14801,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -13505,7 +14876,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -13580,7 +14951,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13655,7 +15026,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -13730,7 +15101,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -13805,7 +15176,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -13880,7 +15251,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -13955,7 +15326,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -14030,7 +15401,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -14105,7 +15476,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -14180,7 +15551,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -14255,7 +15626,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -14330,7 +15701,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -14405,7 +15776,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -14480,7 +15851,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -14555,7 +15926,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -14630,7 +16001,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -14705,7 +16076,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -14780,7 +16151,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -14855,7 +16226,7 @@

+ id="tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.schema$ + 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: ^validation\.feature\.capability$ + points + + + + Point Pointset Model + + + + structure + + + + Ref Discovery + + + + ancillary

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

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

+ +

+
+ +
+
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ 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
-

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

-
+ ^[a-z_]+$
Type: string
+ -
-
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).

-
+ structure
Type: object
+ -

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

+ structure + + + + point

Family Discovery

Type: object
+

Discovery information for a protocol family.

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

- +

-
+
Type: object
- No Additional Properties + structure + + + + point + + + + addr
Type: string
+

Device addr in the namespace of the given family

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

- +

-
-

- -

-

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

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

Point reference in the namespace of the given family

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

-
+
-
+

- +

-
+
Type: object
- + structure + + + + 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]+)*$ +

Family Discovery

Type: object
+ families + + + + Family Discovery

Family Discovery

Type: object

Discovery information for a protocol family.

@@ -15686,18 +17160,18 @@

-
+
-
+

- +

-
+
Type: string
+ Family Discovery + + + + addr
Type: string

Device addr in the namespace of the given family

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

-
+
-
+

- +

-
+
Type: string
+ Family Discovery + + + + ref
Type: string

Point reference in the namespace of the given family

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

-
+
+
+
+
+
+
+
+

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

- +

-
+
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]+$ +
+ + Type: object
-

Reference links to alternate families

-
No Additional Properties + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + 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
+

Point descriptor for this point

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

+ +

+
+ +
+
+ +

Family Discovery

Type: object
-

Discovery information for a protocol family.

+ name
Type: string
+

Friendly name for the reference, if known

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

- +

-
+
Type: array of string
+

List of possible enumerated values for the point

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
-

Device addr in the namespace of the given family

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

- +

-
+
Type: string
+

Current or default unit for this point

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

+ +

+
+ +
+
+ + Type: string
-

Point reference in the namespace of the given family

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

Family reference for structures

+
@@ -16194,46 +17780,18 @@

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

- +

-
+
Type: object
-

Collection of point references

-
No Additional Properties + refs + + + + Ref Discovery + + + + type
Type: string
+

Current or default type for this point

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

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

+ Ref Discovery + + + + writable
Type: boolean
+

Indicates if this point is writable or not

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

- +

-
+
Type: string
-

Point descriptor for this point

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

Human-readable description of this point

+
@@ -16365,18 +17945,18 @@

-
+
-
+

- +

-
+
Type: string
-

Friendly name for the reference, if known

-
+ status

Entry

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

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

+ status + + + + message
Type: string
+

A human-readable one-line description of the entry

- No Additional Items

Each item of this array must be:

+
+
Example:
+
"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

+
-
-
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

-
- - - - + status + + + + category

Category

Type: string
- -
-
-
-
-
-
-
-

- -

-
-
-
+

+ +

+
+ Type: string
-

Family reference for structures

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

- -

-
- -
-
- - Type: string
-

Current or default type for this point

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

- -

-
- -
-
+
+ Type: boolean
-

Indicates if this point is writable or not

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

- -

-
- -
-
- - Type: string
-

Human-readable description of this point

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

- -

-
- -
-
+
+

Entry

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the entry

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

- -

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

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

-
+ category + + + + oneOf + + + + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -17281,7 +18762,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -17342,7 +18823,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -17403,7 +18884,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -17464,7 +18945,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -17525,7 +19006,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -17586,7 +19067,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -17647,7 +19128,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -17708,7 +19189,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -17769,7 +19250,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -17830,7 +19311,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -17891,7 +19372,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -17952,7 +19433,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -18013,7 +19494,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -18074,7 +19555,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -18135,7 +19616,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -18196,7 +19677,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -18257,7 +19738,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -18318,7 +19799,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -18379,7 +19860,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -18440,7 +19921,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -18501,7 +19982,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -18562,7 +20043,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -18623,7 +20104,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -18684,7 +20165,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -18745,7 +20226,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -18806,7 +20287,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -18867,7 +20348,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -18928,7 +20409,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -18989,7 +20470,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -19050,7 +20531,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -19111,7 +20592,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -19172,7 +20653,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -19233,7 +20714,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -19294,7 +20775,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -19355,7 +20836,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -19416,7 +20897,7 @@

+ id="tab-pane_discovery_refs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 41
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 753d4a53dd..acff75909a 100644 --- a/gencode/docs/events_discovery.html +++ b/gencode/docs/events_discovery.html @@ -474,6 +474,36 @@

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 +
@@ -1548,7 +1578,7 @@

/> item 26

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

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -1668,7 +1698,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -1708,7 +1738,7 @@

/> item 30

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

/> item 31

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

/> item 32

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

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -1868,7 +1898,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -1908,7 +1938,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -1948,7 +1978,247 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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]+))*)+$ @@ -7685,6 +7955,36 @@

id="points_pattern1_structure_pattern1_status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i36" role="tab" onclick="setAnchor('#points_pattern1_structure_pattern1_status_category_oneOf_i36')" >Option 37 +
@@ -9515,7 +9815,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -9583,7 +9883,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -9719,7 +10019,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -9787,7 +10087,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -9855,7 +10155,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -9923,7 +10223,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -9991,7 +10291,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -10059,7 +10359,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -10127,7 +10427,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -10195,37 +10495,16 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - +Must match regular expression: ^validation\.device\.multiple$ -
- - - -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ 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: ^validation\.device\.extra$ -
-
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: ^validation\.summary\.report$ + + + + + + +
+ + +

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

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

- -

-
- -
-
- - Type: object
- No Additional Properties + item 39
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_]+$ -
+
+ Type: string
- + category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
- + status + + + + category + + + + oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
-

- -

-
- -
-
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
+ category + + + + oneOf + + + + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + - No Additional Properties + +
-
+ + + +
+
+
+
+
-
+

- +

-
+
Type: string
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + 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: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + 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
+
+
@@ -10841,18 +11071,18 @@

-
+
-
+

- +

-
+
Type: object
-

Reference links to alternate families

-
No Additional Properties + ancillary

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

+
+ + -
+
+
+
+
+
-
+

- +

-
-

- -

-

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 + 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
-

Device addr in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + ^[a-z_]+$
Type: string
+ @@ -11068,18 +11265,22 @@

-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Point reference in the namespace of the given family

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

- +

-
+
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

+ structure + + + + Ref Discovery + + + + structure + + + + point

Family Discovery

Type: object
+

Discovery information for a protocol family.

No Additional Properties @@ -11253,18 +11393,18 @@

-
+
-
+

- +

-
+
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

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

Device addr in the namespace of the given family

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

-
+
-
+

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

-
- - - - - - No Additional Items

Each item of this array must be:

-
- Type: string
+

Point reference in the namespace of the given family

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

- +

-
+
Type: string
-

Current or default unit for this point

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

- -

-
- -
-
- - Type: string
-

Family reference for structures

-
+ 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: 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

+ Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

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

- +

-
+

Entry

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the entry

-
+ Family Discovery + + + + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
-
Example:
-
"Point is not writable"
-
-
+
-
+
-
+

- +

-
+
Type: string
-

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

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

- -

-
- -
-
- - 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

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

+ +

+
+ +
+
+ +
+ + + 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$ @@ -12126,7 +13134,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -12180,7 +13188,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -12234,7 +13242,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -12288,7 +13296,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -12342,7 +13350,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -12396,7 +13404,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -12450,7 +13458,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -12504,7 +13512,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -12558,7 +13566,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -12612,7 +13620,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -12666,7 +13674,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -12720,7 +13728,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -12774,7 +13782,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -12828,7 +13836,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -12882,7 +13890,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -12936,7 +13944,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -12990,7 +13998,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -13044,7 +14052,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -13098,7 +14106,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -13152,7 +14160,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13206,7 +14214,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -13260,7 +14268,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -13314,7 +14322,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -13368,7 +14376,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -13422,7 +14430,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -13476,7 +14484,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -13530,7 +14538,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -13584,7 +14592,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -13638,7 +14646,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -13692,7 +14700,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -13746,7 +14754,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -13800,7 +14808,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -13854,7 +14862,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -13908,7 +14916,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -13962,7 +14970,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -14016,7 +15024,7 @@

+ id="tab-pane_refs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 41
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 2b6467f742..b6713edf95 100644 --- a/gencode/docs/events_mapping.html +++ b/gencode/docs/events_mapping.html @@ -436,6 +436,36 @@

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 +
@@ -1510,7 +1540,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -1550,7 +1580,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -1630,7 +1660,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -1670,7 +1700,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -1710,7 +1740,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1750,7 +1780,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -1790,7 +1820,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -1830,7 +1860,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -1870,7 +1900,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -1910,7 +1940,247 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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..2179d923dc 100644 --- a/gencode/docs/events_system.html +++ b/gencode/docs/events_system.html @@ -555,6 +555,36 @@

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 +
@@ -1818,7 +1848,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -1865,7 +1895,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -1959,7 +1989,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -2006,7 +2036,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -2053,7 +2083,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2100,7 +2130,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2147,7 +2177,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2194,7 +2224,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -2241,7 +2271,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -2288,7 +2318,289 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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..baa1b48750 100644 --- a/gencode/docs/events_udmi.html +++ b/gencode/docs/events_udmi.html @@ -483,6 +483,36 @@

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 +
@@ -1746,7 +1776,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -1793,7 +1823,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -1887,7 +1917,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -1934,7 +1964,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -1981,7 +2011,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2028,7 +2058,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2075,7 +2105,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2122,7 +2152,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -2169,7 +2199,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -2216,7 +2246,289 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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..c6db71b06d 100644 --- a/gencode/docs/events_validation.html +++ b/gencode/docs/events_validation.html @@ -504,6 +504,36 @@

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 +
@@ -1578,7 +1608,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -1618,7 +1648,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -1698,7 +1728,7 @@

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

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

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

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

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -1898,7 +1928,7 @@

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

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -1978,7 +2008,247 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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]+))*)+$ @@ -2659,6 +2929,36 @@

id="errors_items_category_oneOf_i36" data-toggle="tab" href="#tab-pane_errors_items_category_oneOf_i36" role="tab" onclick="setAnchor('#errors_items_category_oneOf_i36')" >Option 37 +
@@ -3922,7 +4222,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -3969,7 +4269,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -4063,7 +4363,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -4110,7 +4410,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -4157,7 +4457,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -4204,7 +4504,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -4251,7 +4551,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -4298,7 +4598,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -4345,7 +4645,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -4392,7 +4692,289 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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/metadata.html b/gencode/docs/metadata.html index 8665fab192..4aa7f26d42 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -5705,22 +5705,18 @@

- - - - -
+
-
+

- +

-
+

Testing Model

Type: object
-

Model of supported features

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

- -

-
- -
-

- -

-

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

- Property name regular expression: ^[._a-zA-Z]+$ -
- -

Feature Discovery

Type: object
-

Object representation for for a single feature

-
+ ota_targets
Type: array
- No Additional Properties - -
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+

FeatureStage

Type: enum (of string)
-

Stage of a feature implemenation

-
- -
-

Must be one of:

-
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
-
- - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-

Ota Testing Model

Type: object
-

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 @@ -5878,18 +5776,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.

+ blob_key
Type: string
+

Blob key for the payload

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

- +

-
+
Type: string
-

Expected unit configuration for the point

+ url
Type: string
+

URL for OTA update

@@ -6021,18 +5886,18 @@

-
+
-
+

- +

-
+
Type: enum (of string)
-

Expected data type for the point

-
-

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
-
+ sha256
Type: string
+

SHA256 hash of the payload

+
@@ -6079,18 +5941,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
-

Detailed description of this point

+ version
Type: string
+

Expected software version

@@ -6134,18 +5996,18 @@

-
+
-
+

- +

-
+
Type: boolean
-

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

-
+ test_type
Type: enum (of string)
+

Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch.

+
+

Must be one of:

+
  • "happy"
  • "bad_hash"
+
@@ -6189,18 +6054,28 @@

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

- +

-
+

Testing Model

Type: object
+

Model of supported features

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

+ +

+
+ +
+

+ +

+

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

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

Represents the expected baseline value of the point

+ Feature Discovery

Feature Discovery

Type: object
+

Object representation for for a single feature

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

- +

-
+
Type: number
-

Maximum deviation from baseline_value

+ stage

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
-
-
Example:
-
2
-
+ +
+
+
-
+
+
+
+
+
-
+

- +

-
+

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: 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"
-
+ 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]+)*$ +
Type: number
-

Represents the lower bound of the error threshold for a point

+ Point Pointset Model

Point Pointset Model

Type: object
+

Information about a specific point name of the device.

+ + No Additional Properties -
-
Example:
-
0
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: number
-

Represents the upper bound of the error threshold for a point

+ units
Type: string
+

Expected unit configuration for the point

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

- +

-
+
Type: integer
-

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

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

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
+ + -
-
Example:
-
3600
-
-
+
-
+
-
+

- +

-
+
Type: number
-

Triggering threshold for partial cov update publishing

+ description
Type: string
+

Detailed description of this point

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

- +

-
+
Type: string
-

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

+ writable
Type: boolean
+

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

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

- +

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

Represents the expected baseline value of the point

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

- +

-
-

- -

-

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

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

Maximum deviation from baseline_value

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

- +

-
+
Type: array
-

Tags assosciated with the 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"
+
-

All items must be unique

No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

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

Represents the lower bound of the error threshold for a point

+
- -
-

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

- +

-
+
Type: object
-

Collection of family point information

-
No Additional Properties + 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-zA-Z0-9]+$ -
+
+

Ref Discovery

Type: object
-

Object representation for for a single point reference discovery

+ unchanged_limit_sec
Type: integer
+

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

- - No Additional Properties - -
+
+
Example:
+
3600
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Point descriptor for this point

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

Triggering threshold for partial cov update publishing

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

- +

-
+
Type: string
-

Friendly name for the reference, if known

+ ref
Type: string
+

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

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

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

-
+ adjunct
Type: object
+ No Additional Properties - 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-z_]+$ +
Type: string
+ ^[a-z_]+$
Type: string
@@ -7277,24 +7129,26 @@

+

+
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

+ tags
Type: array
+

Tags assosciated with the point

- -
-
-
-
-
+

All items must be unique

No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

Family reference for structures

-
+ 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: string
-

Current or default type for this point

+ points + + + + Point Pointset Model + + + + structure + + + + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

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

- +

-
+
Type: boolean
-

Indicates if this point is writable or not

-
+ point
Type: string
+

Point descriptor for this point

+
Must match regular expression: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ @@ -7559,18 +7437,18 @@

-
+
-
+

- +

-
+
Type: string
-

Human-readable description of this point

+ name
Type: string
+

Friendly name for the reference, if known

@@ -7628,18 +7506,18 @@

-
+
-
+

- +

-
+

Entry

Type: object
- - - No Additional Properties + 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
-

A human-readable one-line description of the entry

-
+ possible_values items
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

+ units
Type: string
+

Current or default unit for this point

@@ -7850,18 +7707,18 @@

-
+
-
+

- +

-
+

Category

Type: string
- - -

- -

-
- - - Type: string
+

Family reference for structures

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

+ +

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

Current or default type for this point

+
-
- +
+
+
+
+
+
+
+

+ +

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

Indicates if this point is writable or not

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

+ +

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

Human-readable description of this point

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
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$ + 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\.login$ - - - - + category

Category

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

+ +

+
Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -8780,7 +8565,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -8855,7 +8640,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -8930,7 +8715,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ - + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ +
+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -9080,7 +8865,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -9155,7 +8940,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -9230,7 +9015,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -9305,7 +9090,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -9380,7 +9165,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -9455,7 +9240,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -9530,7 +9315,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -9605,7 +9390,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -9680,7 +9465,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -9755,7 +9540,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -9830,7 +9615,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -9905,7 +9690,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -9980,7 +9765,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -10055,7 +9840,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -10130,7 +9915,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -10205,7 +9990,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -10280,7 +10065,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -10355,7 +10140,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -10430,7 +10215,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -10505,7 +10290,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -10580,7 +10365,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -10655,7 +10440,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -10730,7 +10515,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -10805,7 +10590,7 @@

+ id="tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ -
-
-
-
-
-
-
-

- -

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

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

-
+ category + + + + oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ -
-
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: ^blobset\.blob\.verify\.compatibility$ + + + + + + +
+ + +

Ancillary Properties

Type: object
-

Arbitrary blob of json associated with this point

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

- -

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

- -

-
- -
-

- -

-

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 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
-
-
-
-
-
-
-
-
-

- -

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

- -

-
- -
-
+
+

Family Discovery

Type: object
-

Discovery information for a protocol family.

-
- - No Additional Properties + category + + + + oneOf + + + + item 34
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 35
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]+$ + oneOf + + + + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: object
-

Reference links to alternate families

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

- -

-
- -
-

- -

-

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 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-

- -

-
- -
-
+
+ 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: ^validation\.feature\.sequence$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ 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
- + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
-

- -

-
- -
-

- -

-

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

-
+ oneOf + + + + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + + + + +
@@ -12286,18 +11725,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

The event's discovery scan trigger's generation timestamp

+ Point Pointset Model + + + + structure + + + + Ref Discovery + + + + status + + + + timestamp
Type: stringFormat: date-time
+

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

@@ -12331,25 +11798,25 @@


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

-
+
-
+

- +

-
+

Entry

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the 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:
-
"Point is not writable"
+
600
 
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

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

+ structure + + + + Ref Discovery + + + + ancillary

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

+ + @@ -12497,18 +11960,18 @@

-
+
-
+

- +

-
+

Category

Type: string
+ structure + + + + Ref Discovery + + + + adjunct
Type: object
+ No Additional Properties + + + - +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + 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
+ + +

+ +

@@ -12776,8 +13641,602 @@

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$ @@ -12785,7 +14244,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -12839,7 +14298,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -12893,7 +14352,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -12947,7 +14406,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -13001,7 +14460,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13055,7 +14514,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13109,7 +14568,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13163,7 +14622,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13217,7 +14676,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13271,7 +14730,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13325,7 +14784,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13379,7 +14838,7 @@

+ id="tab-pane_structure_pattern1_status_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$ @@ -13433,7 +14892,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -13487,7 +14946,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13541,7 +15000,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -13595,7 +15054,7 @@

+ id="tab-pane_structure_pattern1_status_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\.failure$ @@ -13649,7 +15108,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -13703,7 +15162,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -13757,7 +15216,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -13811,7 +15270,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -13865,7 +15324,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -13919,7 +15378,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -13973,7 +15432,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -14027,7 +15486,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -14081,7 +15540,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -14135,7 +15594,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -14189,7 +15648,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -14243,7 +15702,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -14297,7 +15756,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -14351,7 +15810,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -14405,7 +15864,7 @@

+ id="tab-pane_structure_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + + + + + +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.summary\.report$ + 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: ^validation\.feature\.sequence$ + family
Type: object
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: string
+

The primary address of the device (for indicated family)

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

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^validation\.feature\.schema$ + network
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
-Must match regular expression: ^validation\.feature\.capability$ + 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]+)*$ +
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - + Family Discovery

Family Discovery

Type: object
+

Discovery information for a protocol family.

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

- +

-
+
Type: stringFormat: date-time
-

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

-
+ Family Discovery + + + + addr
Type: string
+

Device addr in the namespace of the given family

+
Must match regular expression: ^[-_.:0-9A-Z]+$ -
-
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).

-
+ Family Discovery + + + + ref
Type: string
+

Point reference in the namespace of the given family

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

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

- -
-
Example:
-
600
-
+
+
+
@@ -14861,18 +16475,18 @@

-
+
-
+

- +

-
+
Type: object
- + 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: string
-

The primary address of the device (for indicated family)

+ registries + + + + Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

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

- +

-
+
Type: string
-

The family network designator of the discovered device

+ registries + + + + Cloud Model + + + + functions_ver
Type: integer
+

Function version of this request

@@ -15004,18 +16639,18 @@

-
+
-
+

- +

-
+
Type: integer
-

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

-
+ registries + + + + 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"
+
@@ -15052,18 +16704,18 @@

-
+
-
+

- +

-
+
Type: object
-

Links to other address families (family and id)

-
No Additional Properties + registries + + + + Cloud Model + + + + device_key
Type: boolean
+

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

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

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 + Cloud Model + + + + resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

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

- +

-
+
Type: string
-

Device addr in the namespace of the given family

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

Gateway Model

Type: object
+

Gateway Documentation

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

- +

-
+
Type: string
-

Point reference in the namespace of the given family

-
Must match regular expression: ^[-_.:0-9A-Z]+$ + 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"
+
-
+
-
+

- +

-
+
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.

+ target

Family Localnet Model

Type: object
+

The type of network

No Additional Properties @@ -15388,18 +17031,18 @@

-
+
-
+

- +

-
+
Type: integer
-

Function version of this request

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

The address of a device on the fieldbus/local network

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

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ gateway + + + + target + + + + network
Type: string
+

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

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

- +

-
+
Type: boolean
-

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

-
+ 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: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ ^[a-z_]+$
Type: string
+ @@ -15642,18 +17353,22 @@

Must be one of:

-
+
+
+
+
+
-
+

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

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

Specifies that this is a shadow of the indicated device

- - 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]*$ + target + + + + parent_id
Type: string
+

The device id of the node's parent

+
-
-
Example:
-
"GAT-100"
-
-
+
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

+ 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 address of a device on the fieldbus/local network

+ proxy_ids
Type: array of string
+

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

-
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
-
-
-
-
-
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

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

-
+ proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
+        
+        
+

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

- +

-
+
Type: object
- No Additional Properties + 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-z_]+$ -
+
+
Type: string
- + static_file
Type: string
+

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

+
@@ -16168,18 +17870,18 @@

-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ blocked
Type: boolean
+ @@ -16244,18 +17931,18 @@

-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

-
+ detail
Type: string
+ @@ -16320,18 +17992,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: array of string
-

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

-
+ last_state_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_config_time
Type: stringFormat: date-time
+ -
-

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

- +

-
+

Config Cloud Model

Type: object
-

Information specific to how the device communicates with the cloud.

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

- +

-
+
Type: string
-

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

-
+ num_id
Type: string
+ @@ -16677,22 +18297,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: boolean
+ operation

Model Operation

Type: enum (of string)
+ +
+

Must be one of:

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

-
+
-
+

- +

-
+
Type: string
- + metadata_str
Type: string
+

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

+
@@ -16803,18 +18425,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
- + 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: stringFormat: date-time
+ device_ids + + + + ^[-._a-zA-Z0-9]+$
Type: object
@@ -16925,18 +18556,30 @@

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

- +

-
+
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: stringFormat: date-time
+ Discovery Events + + + + devices + + + + Cloud Model

Cloud Model

Type: object
+

Information specific to how the device communicates with the cloud.

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

- +

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

Function version of this request

+
@@ -17047,18 +18732,18 @@

-
+
-
+

- +

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

The key type used for cloud communication.

+
+

Must be one of:

+
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
+
@@ -17108,18 +18797,18 @@

-
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

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

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

+
@@ -17174,18 +18859,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
-

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

-
+ resource_type
Type: enum (of string)
+

The cloud resource type

+
+

Must be one of:

+
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
+
@@ -17236,18 +18924,18 @@

-
+
-
+

- +

-
+
Type: object
-

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

+ gateway

Gateway Model

Type: object
+

Gateway Documentation

+ + 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
- + 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
-

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.

+ target

Family Localnet Model

Type: object
+

The type of network

No Additional Properties @@ -17481,18 +19124,18 @@

-
+
-
+

- +

-
+
Type: integer
-

Function version of this request

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

The address of a device on the fieldbus/local network

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

- +

-
+
Type: enum (of string)
-

The key type used for cloud communication.

-
-

Must be one of:

-
  • "ES256"
  • "ES256_X509"
  • "RS256"
  • "RS256_X509"
-
+ gateway + + + + target + + + + network
Type: string
+

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

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

- +

-
+
Type: boolean
-

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

-
+ 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: enum (of string)
-

The cloud resource type

-
-

Must be one of:

-
  • "DIRECT"
  • "GATEWAY"
  • "FUNNEL"
  • "PROXIED"
  • "REGISTRY"
-
+ gateway + + + + target + + + + adjunct + + + + ^[a-z_]+$
Type: string
+ @@ -17735,18 +19446,22 @@

Must be one of:

-
+
+
+
+
+
-
+

- +

-
+

Gateway Model

Type: object
-

Gateway Documentation

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

Specifies that this is a shadow of the indicated device

- - 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]*$ + target + + + + parent_id
Type: string
+

The device id of the node's parent

+
-
-
Example:
-
"GAT-100"
-
-
+
-
+
-
+

- +

-
+

Family Localnet Model

Type: object
-

The type of network

+ 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 address of a device on the fieldbus/local network

+ proxy_ids
Type: array of string
+

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

-
-
Examples:
-
"192.168.1.3"
-
-
"41489"
-
-
-
-
-
-
-
+ No Additional Items

Each item of this array must be:

-
-

- -

-
- -
-
+
+ Type: string
-

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

-
+ proxy_ids items
Type: string
+Must match regular expression: ^[A-Z]{2,6}-[1-9][0-9]*$ -
-
Examples:
-
"192.168.1.0/24"
-
-
"12732"
+        
+        
+

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

- +

-
+
Type: object
- No Additional Properties + 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-z_]+$ -
+
+
Type: string
- + static_file
Type: string
+

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

+
@@ -18261,18 +19963,18 @@

-
+
-
+

- +

-
+
Type: string
-

Specifies that this is a shadow of the indicated device

-
+ blocked
Type: boolean
+ @@ -18337,18 +20024,18 @@

-
+
-
+

- +

-
+
Type: string
-

The device id of the node's parent

-
+ detail
Type: string
+ @@ -18413,18 +20085,18 @@

-
+
-
+

- +

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

+ +

+
+ +
+
+ + Type: string
-

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

-
+ Discovery Events + + + + devices + + + + Cloud Model + + + + last_state_time
Type: stringFormat: date-time
+ -
-
Examples:
-
"ipv4"
-
-
"bacnet"
-
-
-
-
-
-
+
-
+
-
-

- +
+

+

-
+
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"
+
@@ -18770,22 +20456,18 @@

-
-
-
-
-
+
-
+

- +

-
+
Type: boolean
- + metadata_str
Type: string
+

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

+
@@ -18835,18 +20518,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: stringFormat: date-time
+ device_ids + + + + ^[-._a-zA-Z0-9]+$
Type: object
@@ -18957,18 +20649,30 @@

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

- +

-
+
Type: stringFormat: date-time
- + 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]+)*$ +
Type: stringFormat: date-time
+ 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

+
@@ -19140,18 +20825,18 @@

-
+
-
+

- +

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

Expected data type for the point

+
+

Must be one of:

+
  • "string"
  • "boolean"
  • "number"
+
@@ -19201,18 +20890,18 @@

-
+
-
+

- +

-
+

Model Operation

Type: enum (of string)
- - -
-

Must be one of:

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

Detailed description of this point

+
@@ -19267,18 +20952,18 @@

Must be one of:

-
+
-
+

- +

-
+
Type: string
-

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

+ writable
Type: boolean
+

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

@@ -19329,18 +21014,18 @@

-
+
-
+

- +

-
+
Type: object
-

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

+ baseline_value
Type: object
+

Represents the expected baseline value of the point

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

- +

-
-

- -

-

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

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

Maximum deviation from baseline_value

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

- +

-
+
Type: object
-

Information about a specific point name of the device.

-
No Additional Properties + points + + + + Point Pointset Model + + + + 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-z][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Point Pointset Model

Type: object
-

Information about a specific point name of the device.

+ Point Pointset Model + + + + range_min
Type: number
+

Represents the lower bound of the error threshold for a point

- - No Additional Properties - -
+
+
Example:
+
0
+
+
+
+
+
+
+
-
+

- +

-
+
Type: string
-

Expected unit configuration for the point

+ range_max
Type: number
+

Represents the upper bound of the error threshold for a point

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

- +

-
+
Type: enum (of string)
-

Expected data type for the point

-
-

Must be one of:

-
  • "string"
  • "boolean"
  • "number"
-
+ unchanged_limit_sec
Type: integer
+

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

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

- +

-
+
Type: string
-

Detailed description of this point

+ cov_increment
Type: number
+

Triggering threshold for partial cov update publishing

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

- +

-
+
Type: boolean
-

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

+ ref
Type: string
+

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

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

- +

-
+
Type: object
-

Represents the expected baseline value of the point

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

- +

-
-
+
+

+ +

+

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

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

Maximum deviation from baseline_value

-
+ adjunct + + + + ^[a-z_]+$
Type: string
+ -
-
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"
-
+ tags
Type: array
+

Tags assosciated with the point

+
- -
-
-
-
-
-
-
-

- -

-
- -
-
+

All items must be unique

No Additional Items

Each item of this array must be:

+
+
+ Type: number
-

Represents the lower bound of the error threshold for a point

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

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

- +

-
+
Type: number
-

Represents the upper bound of the error threshold for a point

-
+ structure
Type: object
+

Collection of family point information

+
No Additional Properties -
-
Example:
-
100
-
-
-
-
-
-
-
+ +
-
+

- +

-
-
+
+

+ +

+

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

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

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

+ structure + + + + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+ + No Additional Properties -
-
Example:
-
3600
-
-
-
-
-
-
-
+ +
-
+

- +

-
+
Type: number
-

Triggering threshold for partial cov update publishing

-
+ structure + + + + Ref Discovery + + + + point
Type: string
+

Point descriptor for this point

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

- +

-
+
Type: string
-

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

+ structure + + + + Ref Discovery + + + + name
Type: string
+

Friendly name for the reference, if known

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

- +

-
+
Type: object
- No Additional Properties + structure + + + + Ref Discovery + + + + possible_values
Type: array of string
+

List of possible enumerated values for the point

+
- -
+ 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-z_]+$ -
+
+ Type: string
+ possible_values items
Type: string
@@ -20480,26 +22228,24 @@

-

-
-
+
-
+

- +

-
+
Type: array
-

Tags assosciated with the point

+ structure + + + + Ref Discovery + + + + units
Type: string
+

Current or default unit for this 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 Discovery + + + + ref
Type: string
+

Family reference for structures

+
-
-

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

- +

-
+
Type: object
-

Collection of family point information

-
No Additional Properties + structure + + + + Ref Discovery + + + + type
Type: string
+

Current or default type for this point

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

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

+ Ref Discovery + + + + writable
Type: boolean
+

Indicates if this point is writable or not

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

- +

-
+
Type: string
-

Point descriptor for this point

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

Human-readable description of this point

+
@@ -20823,18 +22614,18 @@

-
+
-
+

- +

-
+
Type: string
-

Friendly name for the reference, if known

-
+ status

Entry

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

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

+ status + + + + message
Type: string
+

A human-readable one-line description of the entry

- No Additional Items

Each item of this array must be:

+
+
Example:
+
"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

+
-
-
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

-
- - - - + status + + + + category

Category

Type: string
- -
-
-
-
-
-
-
-

- -

-
-
-
+

+ +

+
+ Type: string
-

Family reference for structures

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

- -

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

Current or default type for this point

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

- -

-
- -
-
- - Type: boolean
-

Indicates if this point is writable or not

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

- -

-
- -
-
+
+ Type: string
-

Human-readable description of this point

-
+ status + + + + category + + + + oneOf + + + + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

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

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

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

- -

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

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

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

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -22012,7 +23805,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -22094,7 +23887,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -22176,7 +23969,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -22258,7 +24051,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -22340,7 +24133,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -22422,7 +24215,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -22504,7 +24297,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -22586,7 +24379,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -22668,7 +24461,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -22750,7 +24543,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -22832,7 +24625,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -22914,7 +24707,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 19
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$ @@ -22996,7 +24953,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -23078,7 +25035,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -23160,7 +25117,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -23242,7 +25199,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -23324,7 +25281,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -23406,7 +25363,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -23488,7 +25445,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -23570,7 +25527,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -23652,7 +25609,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -23734,7 +25691,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -23816,7 +25773,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -23898,7 +25855,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -23980,7 +25937,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -24062,7 +26019,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -24144,7 +26101,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -24226,7 +26183,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -24308,7 +26265,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -24390,7 +26347,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -24472,7 +26429,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -24554,7 +26511,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -24636,7 +26593,7 @@

+ id="tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.schema$ + 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: ^validation\.feature\.capability$ - - - - - - -
- - -

Ancillary Properties

Type: object
+

Arbitrary blob of json associated with this point

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

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ 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
-

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

-
+ ^[a-z_]+$
Type: string
+ -
-
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).

-
+ structure
Type: object
+ -

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

+ structure + + + + point

Family Discovery

Type: object
+

Discovery information for a protocol family.

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

- +

-
+
Type: object
- No Additional Properties + structure + + + + point + + + + addr
Type: string
+

Device addr in the namespace of the given family

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

- +

-
-

- -

-

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

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

Point reference in the namespace of the given family

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

-
+
-
+

- +

-
+
Type: object
- + structure + + + + 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]+)*$ +

Family Discovery

Type: object
+ families + + + + Family Discovery

Family Discovery

Type: object

Discovery information for a protocol family.

@@ -25544,18 +27611,18 @@

-
+
-
+

- +

-
+
Type: string
+ Family Discovery + + + + addr
Type: string

Device addr in the namespace of the given family

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

-
+
-
+

- +

-
+
Type: string
+ Family Discovery + + + + ref
Type: string

Point reference in the namespace of the given family

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

-
+
+
+
+
+
+
+
+

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

- +

-
+
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]+$ +
+ + Type: object
-

Reference links to alternate families

-
No Additional Properties + Ref Discovery

Ref Discovery

Type: object
+

Object representation for for a single point reference discovery

+
+ + 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
+

Point descriptor for this point

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

+ +

+
+ +
+
+ +

Family Discovery

Type: object
-

Discovery information for a protocol family.

+ Ref Discovery + + + + name
Type: string
+

Friendly name for the reference, if known

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

- +

-
+
Type: array of string
+

List of possible enumerated values for the point

+
+ + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: string
-

Device addr in the namespace of the given family

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

- +

-
+
Type: string
+

Current or default unit for this point

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

+ +

+
+ +
+
+ + Type: string
-

Point reference in the namespace of the given family

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

Family reference for structures

+
@@ -26094,46 +28301,18 @@

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

- +

-
+
Type: object
-

Collection of point references

-
No Additional Properties + refs + + + + Ref Discovery + + + + type
Type: string
+

Current or default type for this point

+
-
+
+
+
+
+
-
+

- +

-
-

- -

-

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

+ Ref Discovery + + + + writable
Type: boolean
+

Indicates if this point is writable or not

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

- +

-
+
Type: string
-

Point descriptor for this point

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

Human-readable description of this point

+
@@ -26286,18 +28487,18 @@

-
+
-
+

- +

-
+
Type: string
-

Friendly name for the reference, if known

-
+ status

Entry

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

- +

-
+
Type: array of string
-

List of possible enumerated values for the point

+ status + + + + message
Type: string
+

A human-readable one-line description of the entry

- No Additional Items

Each item of this array must be:

+
+
Example:
+
"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

+
-
-
-
+
-
+

- +

-
+
Type: string
-

Current or default unit for this point

-
- - - - + status + + + + category

Category

Type: string
- -
-
-
-
-
-
-
-

- -

-
-
-
+

+ +

+
+ Type: string
-

Family reference for structures

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

- -

-
- -
-
- - Type: string
-

Current or default type for this point

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

- -

-
- -
-
+
+ Type: boolean
-

Indicates if this point is writable or not

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

- -

-
- -
-
- - Type: string
-

Human-readable description of this point

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

- -

-
- -
-
+
+

Entry

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the entry

-
+ item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
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 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -27293,7 +29374,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -27361,7 +29442,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -27429,7 +29510,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -27497,7 +29578,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -27565,7 +29646,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -27633,7 +29714,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -27701,7 +29782,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -27769,7 +29850,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -27837,7 +29918,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -27905,7 +29986,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -27973,7 +30054,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -28041,7 +30122,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -28109,7 +30190,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -28177,7 +30258,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -28245,7 +30326,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -28313,7 +30394,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -28381,7 +30462,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -28449,7 +30530,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -28517,7 +30598,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -28585,7 +30666,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -28653,7 +30734,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -28721,7 +30802,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -28789,7 +30870,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -28857,7 +30938,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -28925,7 +31006,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -28993,7 +31074,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -29061,7 +31142,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -29129,7 +31210,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -29197,7 +31278,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -29265,7 +31346,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -29333,7 +31414,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -29401,7 +31482,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -29469,7 +31550,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -29537,7 +31618,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -29605,7 +31686,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -29673,7 +31754,7 @@

+ id="tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 41
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/monitoring.html b/gencode/docs/monitoring.html index 5ff67ac31d..83234d2526 100644 --- a/gencode/docs/monitoring.html +++ b/gencode/docs/monitoring.html @@ -752,6 +752,36 @@

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 +
@@ -2393,7 +2423,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -2454,7 +2484,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -2576,7 +2606,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -2637,7 +2667,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -2698,7 +2728,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2759,7 +2789,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2820,7 +2850,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2881,7 +2911,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -2942,7 +2972,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -3003,7 +3033,373 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 93f12a4369..3bdab3c503 100644 --- a/gencode/docs/state.html +++ b/gencode/docs/state.html @@ -1282,6 +1282,36 @@

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 +
@@ -2545,7 +2575,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -2592,7 +2622,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -2686,7 +2716,7 @@

/> item 29

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -2733,7 +2763,7 @@

/> item 30

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -2780,7 +2810,7 @@

/> item 31

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2827,7 +2857,7 @@

/> item 32

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2874,7 +2904,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2921,7 +2951,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -2968,7 +2998,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -3015,37 +3045,16 @@

/> item 36

Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+Must match regular expression: ^validation\.device\.multiple$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ 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: ^validation\.device\.extra$ -
-
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: ^validation\.summary\.report$ -
-
-
-

- -

-
- -
-
+
+

Entry

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the entry

-
+ item 39
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

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

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
- - - Type: object
-Must match regular expression: ^system\.base\.start$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -3589,7 +3288,7 @@

+ id="tab-pane_system_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ -
- +
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.base\.ready$ + 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: ^system\.config\.receive$ + gateway

Gateway State

Type: object
+

Gateway Documentation

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

+ +

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

Entry

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

+ +

+
+ +
+
Type: object
-Must match regular expression: ^system\.config\.apply$ + 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\.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$ - + category

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -3965,7 +3931,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -4012,7 +3978,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -4059,7 +4025,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -4106,7 +4072,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -4153,7 +4119,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -4200,7 +4166,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -4247,7 +4213,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -4294,7 +4260,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -4341,7 +4307,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -4388,7 +4354,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -4435,7 +4401,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -4482,7 +4448,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -4529,7 +4495,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -4576,7 +4542,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -4623,7 +4589,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -4670,7 +4636,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -4717,7 +4683,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -4764,7 +4730,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -4811,7 +4777,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -4858,7 +4824,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -4905,7 +4871,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -4952,7 +4918,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -4999,7 +4965,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -5046,7 +5012,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -5093,7 +5059,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -5140,7 +5106,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -5187,7 +5153,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -5234,7 +5200,7 @@

+ id="tab-pane_gateway_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ - - - - -
-
-
-

- -

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

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

-
+ category + + + + oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ -
-
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 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ -
-
-
-

- -

-
- -
-
+
+ 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

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

- -

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

Generational marker to group results together

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

- -

-
- -
-
+
+ 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]+)*$ -
- -

Family Discovery State

Type: object
-

State for discovery

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

- -

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

Generational marker for reporting discovery

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

- -

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

Current phase of an active discovery process

-
-

Must be one of:

-
  • "stopped"
  • "pending"
  • "active"
-
+ oneOf + + + + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ Type: integer
-

Number of records produced so far for this active scan generation

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

Value must be greater or equal to 0

- -
-
-
-
-
-
-
-

- -

-
-
-
+ +
+ Type: integer
-

Number of passive scan results currently 'on hold'

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

Value must be greater or equal to 0

- -
-
-
-
-
-
-
-

- -

-
-
-
+ +
+

Entry

Type: object
-

Status information about the discovery operation

-
+ oneOf + + + + item 37
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

-
+ item 39
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

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

- -

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

Category

Type: string
+ item 42
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
+
+
+
+
+
+
+
+
+
+ + + + + +
+
+
+

+ +

+
+ +
+
+ +

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: 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]+)*$ +
+ +

Family Discovery State

Type: object
+

State for discovery

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

+ +

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

Generational marker for reporting discovery

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

+ +

+
+ +
+
+ + 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: 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: 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
+ + +

+ +

@@ -6347,8 +7001,1289 @@

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$ + + + + + + +
+ + + 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$ @@ -6356,7 +8291,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -6417,7 +8352,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -6478,7 +8413,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -6539,7 +8474,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -6600,7 +8535,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -6661,7 +8596,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -6722,7 +8657,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -6783,7 +8718,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -6844,7 +8779,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -6905,7 +8840,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -6966,7 +8901,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -7027,7 +8962,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -7088,7 +9023,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -7149,7 +9084,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -7210,7 +9145,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -7271,7 +9206,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -7332,7 +9267,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -7393,7 +9328,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -7454,7 +9389,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -7515,7 +9450,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -7576,7 +9511,7 @@

+ id="tab-pane_discovery_families_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 42
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
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + +
+
+
+

+ +

+
+ +
+
+ +

Localnet State

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

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^discovery\.point\.describe$ + families
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: object
-Must match regular expression: ^mapping\.device\.apply$ + addr
Type: string
+ -
- +
+
+
+
+
+
+
+

+ +

+
+ +
+

Entry

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

+ +

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

A human-readable one-line description of the entry

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

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + 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\.apply$ - + category

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -8003,7 +10413,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -8064,7 +10474,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -8125,7 +10535,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -8186,7 +10596,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -8247,7 +10657,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -8308,7 +10718,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -8369,7 +10779,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -8430,7 +10840,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -8491,7 +10901,7 @@

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

- -

-
- -
-
+
+ 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: ^pointset\.point\.applied$ + + + + + + +
+ + + 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 + oneOf + + + + 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][a-z0-9]*(_[a-z0-9]+)*$ -
+
+

Family Localnet State

Type: object
- - - No Additional Properties + Family Localnet State + + + + status + + + + category + + + + oneOf + + + + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ -
-
-
-

- -

-
- -
-
+
+ Type: string
- + status + + + + category + + + + oneOf + + + + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 15
Type: object
+Must match regular expression: ^localnet\.network$ -
-
Example:
-
"Point is not writable"
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+ +
+ Type: string
-

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

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

- -

-
- -
-
+
+

Category

Type: string
+ category + + + + oneOf + + + + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ + + + -

- -

-
+ +
+ + + 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 +11572,7 @@

+ id="tab-pane_localnet_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 +11633,7 @@

+ id="tab-pane_localnet_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 +11694,7 @@

+ id="tab-pane_localnet_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 +11755,7 @@

+ id="tab-pane_localnet_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$ @@ -9607,7 +11816,7 @@

+ id="tab-pane_localnet_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\.receive$ @@ -9668,7 +11877,7 @@

+ id="tab-pane_localnet_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\.fetch$ @@ -9729,7 +11938,7 @@

+ id="tab-pane_localnet_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\.fetch\.success$ @@ -9790,7 +11999,7 @@

+ id="tab-pane_localnet_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\.failure$ @@ -9851,7 +12060,7 @@

+ id="tab-pane_localnet_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\.verify\.parse$ @@ -9912,7 +12121,7 @@

+ id="tab-pane_localnet_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\.verify\.hash$ @@ -9973,7 +12182,7 @@

+ id="tab-pane_localnet_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\.verify\.compatibility$ @@ -10034,7 +12243,7 @@

+ id="tab-pane_localnet_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\.apply$ @@ -10095,7 +12304,7 @@

+ id="tab-pane_localnet_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\.abort$ @@ -10156,7 +12365,7 @@

+ id="tab-pane_localnet_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: ^validation\.device\.receive$ @@ -10217,7 +12426,7 @@

+ id="tab-pane_localnet_families_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -10278,7 +12487,7 @@

+ id="tab-pane_localnet_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: ^validation\.device\.content$ @@ -10339,7 +12548,7 @@

+ id="tab-pane_localnet_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: ^validation\.device\.multiple$ @@ -10400,7 +12609,7 @@

+ id="tab-pane_localnet_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: ^validation\.device\.extra$ @@ -10461,7 +12670,7 @@

+ id="tab-pane_localnet_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: ^validation\.summary\.report$ @@ -10522,7 +12731,7 @@

+ id="tab-pane_localnet_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: ^validation\.feature\.sequence$ @@ -10583,7 +12792,7 @@

+ id="tab-pane_localnet_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\.feature\.schema$ @@ -10644,7 +12853,7 @@

+ id="tab-pane_localnet_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\.feature\.capability$ @@ -10705,7 +12914,7 @@

+ id="tab-pane_localnet_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: ^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
-Must match regular expression: ^blobset\.blob\.receive$ + blobset + + + + blobs
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 + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + phase

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: object
-Must match regular expression: ^blobset\.blob\.apply$ + Blob Blobset State + + + + status + + + + 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

+
-
- +
+
+
+
+
+
+
+

+ +

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

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^validation\.device\.content$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -11132,7 +13822,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -11193,7 +13883,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -11254,7 +13944,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -11315,7 +14005,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -11376,7 +14066,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -11437,7 +14127,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -11498,7 +14188,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i7" 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 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
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 + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-

- -

-
- -
-

- -

-

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"
-
+ item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ -
-
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 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -12376,7 +14676,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -12437,7 +14737,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -12498,7 +14798,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -12559,7 +14859,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -12620,7 +14920,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -12681,7 +14981,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -12742,7 +15042,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -12803,7 +15103,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -12864,7 +15164,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -12925,7 +15225,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -12986,7 +15286,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13047,7 +15347,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -13108,7 +15408,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -13169,7 +15469,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -13230,7 +15530,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -13291,7 +15591,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -13352,7 +15652,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -13413,7 +15713,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -13474,7 +15774,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -13535,7 +15835,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -13596,7 +15896,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -13657,7 +15957,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -13718,7 +16018,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -13779,7 +16079,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -13840,7 +16140,129 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i39" role="tabpanel"> + + + Type: object
+Must match regular expression: ^validation\.feature\.sequence$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^validation\.feature\.schema$ + + + + + + +
Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -13901,7 +16323,7 @@

+ id="tab-pane_blobset_blobs_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 42
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: object
-Must match regular expression: ^validation\.device\.receive$ - - - - - - -
- - - 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: ^validation\.device\.schema$ + generation
Type: stringFormat: date-time
+

The timestamp of the blob generation

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

+ +

+
+ +
+
+ +

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: ^validation\.device\.content$ + 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: ^validation\.device\.multiple$ - + category

Category

Type: string
- - - -
+

+ +

+
Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -14267,7 +17117,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -14328,7 +17164,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -14389,7 +17211,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -14450,7 +17258,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -14511,7 +17305,7 @@

+ id="tab-pane_pointset_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).

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

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 timestamp of the blob generation

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

- -

-
- -
-
- -

Pointset State

Type: object
-

A set of points reporting telemetry data.

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

- -

-
- -
-
+
+ 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 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ 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

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

- -

-
- -
-
+
+

Category

Type: string
- + 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$ @@ -15275,7 +17681,7 @@

+ id="tab-pane_pointset_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$ @@ -15322,7 +17728,7 @@

+ id="tab-pane_pointset_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$ @@ -15369,7 +17775,7 @@

+ id="tab-pane_pointset_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$ @@ -15416,7 +17822,7 @@

+ id="tab-pane_pointset_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$ @@ -15463,7 +17869,7 @@

+ id="tab-pane_pointset_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$ @@ -15510,7 +17916,7 @@

+ id="tab-pane_pointset_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$ @@ -15557,7 +17963,7 @@

+ id="tab-pane_pointset_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$ @@ -15604,7 +18010,7 @@

+ id="tab-pane_pointset_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$ @@ -15651,7 +18057,7 @@

+ id="tab-pane_pointset_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$ @@ -15698,7 +18104,7 @@

+ id="tab-pane_pointset_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$ @@ -15745,7 +18151,7 @@

+ id="tab-pane_pointset_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$ @@ -15792,7 +18198,7 @@

+ id="tab-pane_pointset_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\.receive$ @@ -15839,7 +18245,7 @@

+ id="tab-pane_pointset_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\.fetch$ @@ -15886,7 +18292,7 @@

+ id="tab-pane_pointset_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\.fetch\.success$ @@ -15933,7 +18339,7 @@

+ id="tab-pane_pointset_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\.failure$ @@ -15980,7 +18386,7 @@

+ id="tab-pane_pointset_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\.verify\.parse$ @@ -16027,7 +18433,7 @@

+ id="tab-pane_pointset_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\.verify\.hash$ @@ -16074,7 +18480,7 @@

+ id="tab-pane_pointset_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\.verify\.compatibility$ @@ -16121,7 +18527,7 @@

+ id="tab-pane_pointset_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\.apply$ @@ -16168,7 +18574,7 @@

+ id="tab-pane_pointset_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\.abort$ @@ -16215,7 +18621,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -16262,7 +18668,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -16309,7 +18715,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -16356,7 +18762,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -16403,7 +18809,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -16450,7 +18856,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -16497,7 +18903,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -16544,7 +18950,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -16591,7 +18997,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -16638,7 +19044,7 @@

+ id="tab-pane_pointset_status_category_oneOf_i42" 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: object
-Must match regular expression: ^validation\.device\.multiple$ + 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
+

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: ^validation\.device\.extra$ + Point Pointset State

Point Pointset State

Type: object
+

Object representation for for a single point

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

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.summary\.report$ + units
Type: string
+

If specified, indicates a programmed point unit. If empty, means unspecified or matches configured point.

+
-
- +
+
+
+
+
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + 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: ^validation\.feature\.schema$ + status

Entry

Type: object
+

Optional status information about this point, subject to log severity level

+
+ + 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]+))*)+$ - - - - - - -
+ + + detail
Type: string
+

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

+
@@ -16977,18 +19591,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

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

-
- - - - + Point Pointset State + + + + status + + + + category

Category

Type: string
-
-
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 - - - - - - -
-
-
-

- -

-
- -
-

- -

-

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 + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

If specified, indicates a programmed point unit. If empty, means unspecified or matches configured point.

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

- -

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

State of the individual point

-
-

Must be one of:

-
  • "initializing"
  • "applied"
  • "updating"
  • "overridden"
  • "invalid"
  • "failure"
-
+ item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
-

Optional status information about this point, subject to log severity level

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the entry

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

- -

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

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

-
+ category + + + + oneOf + + + + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -17769,7 +20228,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -17830,7 +20289,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -17891,7 +20350,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -17952,7 +20411,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -18013,7 +20472,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -18074,7 +20533,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -18135,7 +20594,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -18196,7 +20655,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -18257,7 +20716,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -18318,7 +20777,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -18379,7 +20838,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -18440,7 +20899,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -18501,7 +20960,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -18562,7 +21021,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -18623,7 +21082,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -18684,7 +21143,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -18745,7 +21204,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -18806,7 +21265,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -18867,7 +21326,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -18928,7 +21387,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -18989,7 +21448,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -19050,7 +21509,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -19111,7 +21570,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -19172,7 +21631,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -19233,7 +21692,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -19294,7 +21753,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -19355,7 +21814,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -19416,7 +21875,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -19477,7 +21936,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -19538,7 +21997,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -19599,7 +22058,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -19660,7 +22119,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -19721,7 +22180,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -19782,7 +22241,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -19843,7 +22302,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -19904,7 +22363,7 @@

+ id="tab-pane_pointset_points_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 41
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..0a1e057d69 100644 --- a/gencode/docs/state_mapping.html +++ b/gencode/docs/state_mapping.html @@ -782,6 +782,36 @@

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 +
@@ -2234,7 +2264,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -2288,7 +2318,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -2396,7 +2426,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -2450,7 +2480,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -2504,7 +2534,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2558,7 +2588,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2612,7 +2642,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2666,7 +2696,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -2720,7 +2750,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -2774,7 +2804,331 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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..2674a7ca2b 100644 --- a/gencode/docs/state_validation.html +++ b/gencode/docs/state_validation.html @@ -1018,6 +1018,36 @@

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 +
@@ -2092,7 +2122,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -2132,7 +2162,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -2212,7 +2242,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -2252,7 +2282,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -2292,7 +2322,7 @@

/> item 31Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2332,7 +2362,7 @@

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2372,7 +2402,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -2412,7 +2442,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -2452,7 +2482,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -2492,7 +2522,247 @@

/> item 36Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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]+))*)+$ @@ -3772,6 +4042,36 @@

id="features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i36" data-toggle="tab" href="#tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i36" role="tab" onclick="setAnchor('#features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i36')" >Option 37 +
@@ -5980,7 +6280,7 @@

/> item 26

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -6062,7 +6362,7 @@

/> item 27

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

/> item 28

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -6226,7 +6526,7 @@

/> item 29Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -6308,7 +6608,7 @@

/> item 30Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -6390,7 +6690,7 @@

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

/> item 32Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -6554,7 +6854,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.device\.receive$ @@ -6636,7 +6936,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.device\.schema$ @@ -6718,7 +7018,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.device\.content$ @@ -6800,37 +7100,16 @@

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

- -

-
- -
-
+
+ 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: ^validation\.device\.extra$ -
-
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: ^validation\.summary\.report$ -

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 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: integer
- + status + + + + category + + + + oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
- - - - - - - - - -
-
-
-

- -

-
- -
-
+
+

Sequence Result

Type: enum (of string)
-
-

Must be one of:

-
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
-
- - - - - - -
-
-
-
-
-
-
-

- -

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

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

+ Capability Validation State + + + + status + + + + category + + + + oneOf + + + + item 42
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

@@ -7343,25 +7690,25 @@


Example:
-
"Point is not writable"
+
"2018-08-26T21:39:28.364Z"
 

-
+
-
+

- +

-
+
Type: string
-

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

+ 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

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

- +

-
+

Category

Type: string
+ Capability Validation State + + + + score
Type: integer
+ - +
+
+
+
+

+ +

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

+ +

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

Sequence Result

Type: enum (of string)
+
+

Must be one of:

+
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
+
-
- +
+
+
+ +
+
+
+

+ +

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

Entry

Type: object
- -
- - Type: object
-Must match regular expression: ^system\.config\.receive$ + 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$ + 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\.login$ - - - - + category

Category

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

+ +

+
Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ @@ -8279,7 +8557,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i1" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ @@ -8347,7 +8625,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i2" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ @@ -8415,7 +8693,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i3" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ @@ -8483,7 +8761,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i4" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ @@ -8551,7 +8829,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i5" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -8619,7 +8897,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -8687,7 +8965,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -8755,7 +9033,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -8823,7 +9101,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -8891,7 +9169,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -8959,7 +9237,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -9027,7 +9305,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -9095,7 +9373,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -9163,7 +9441,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -9231,7 +9509,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -9299,7 +9577,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -9367,7 +9645,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -9435,7 +9713,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -9503,7 +9781,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -9571,7 +9849,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -9639,7 +9917,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -9707,7 +9985,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -9775,7 +10053,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -9843,7 +10121,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -9911,7 +10189,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -9979,7 +10257,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -10047,7 +10325,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -10115,7 +10393,7 @@

+ id="tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
+ item 28Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ - - - - -
-
-
-

- -

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

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

-
+ category + + + + oneOf + + + + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ -
-
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 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ -

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 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ + + + + + + +
+ Type: integer
- + category + + + + oneOf + + + + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+ 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 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ -
-
-
-

- -

-
- -
-
+
+ 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 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ -
-
-
-
-
-
-
-
-
-
-
-

- -

-
- -
-
+
+ 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 35
Type: object
+Must match regular expression: ^validation\.device\.content$ -
-
-
-

- -

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

- -

-
- -
-
- - Type: object
+Must match regular expression: ^validation\.device\.multiple$ + + + + + + +
+ + +

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\.extra$ -
-
-
-

- -

-
- -
-

- -

-

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 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ -
-
-
-

- -

-
- -
-
+
+ Type: string
- + oneOf + + + + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

FeatureStage

Type: enum (of string)
-

Stage of a feature implemenation

-
- -
-

Must be one of:

-
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
-
+ oneOf + + + + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Capability result

Type: enum (of string)
-
-

Must be one of:

-
  • "pass"
  • "fail"
-
+ oneOf + + + + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
+ oneOf + + + + item 42
Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + + + - No Additional Properties + +
-
+
+
+
+
+
-
+

- +

-
+
Type: string
-

A human-readable one-line description of the entry

+ timestamp
Type: stringFormat: date-time
+

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

@@ -11480,25 +11489,25 @@


Example:
-
"Point is not writable"
+
"2018-08-26T21:39:28.364Z"
 

-
+
-
+

- +

-
+
Type: string
-

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

+ 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: 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]+$ +
+ +

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
+ 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: string
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+
+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ + 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: string
+ + + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

FeatureStage

Type: enum (of string)
+

Stage of a feature implemenation

+
+ +
+

Must be one of:

+
  • "disabled"
  • "alpha"
  • "preview"
  • "beta"
  • "stable"
+
+ + + + + + +
+
+
+
+
+
+
+

+ +

+
+ +
+
+ +

Capability result

Type: enum (of string)
+
+

Must be one of:

+
  • "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$ + + + + + + +
+ + +

Category

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

- -

-
+ +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -11914,7 +14076,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -11996,7 +14158,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12078,7 +14240,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12160,7 +14322,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -12242,7 +14404,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12324,7 +14486,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12406,7 +14568,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12488,7 +14650,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12570,7 +14732,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12652,7 +14814,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12734,7 +14896,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12816,7 +14978,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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$ @@ -12898,7 +15060,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -12980,7 +15142,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -13062,7 +15224,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -13144,7 +15306,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_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\.failure$ @@ -13226,7 +15388,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -13308,7 +15470,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -13390,7 +15552,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -13472,7 +15634,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -13554,7 +15716,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -13636,7 +15798,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -13718,7 +15880,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -13800,7 +15962,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -13882,7 +16044,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -13964,7 +16126,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -14046,7 +16208,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -14128,7 +16290,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -14210,7 +16372,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -14292,7 +16454,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -14374,7 +16536,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 42
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: object
-Must match regular expression: ^validation\.summary\.report$ - - - - - - -
- - - 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
+ -
- +
+
+
+ +
+
+
+

+ +

+
+ +
+
Type: integer
+ + + + + + + +
+
+
+
+ + + + + + + + +
+
+
+

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^validation\.feature\.schema$ + sequences + + + + Sequence Validation State + + + + result

Sequence Result

Type: enum (of string)
+
+

Must be one of:

+
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
+
-
- +
+
+
+ +
+
+
+

+ +

+
+ +
+

Entry

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

+ +

+
+ +
+
+ + Type: object
-Must match regular expression: ^validation\.feature\.capability$ + status + + + + 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: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - - - -
- - - - + Sequence Validation State + + + + status + + + + category

Category

Type: string
- -
-
-
- -
-
-
-

- -

-
-
-
+

+ +

+
+ Type: stringFormat: date-time
-

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

-
- - - + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
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 1
Type: object
+Must match regular expression: ^system\.base\.shutdown$ -

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

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

- -

-
+ -
-
+ +
+ Type: integer
- + oneOf + + + + item 2
Type: object
+Must match regular expression: ^system\.base\.ready$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+ Type: integer
- + oneOf + + + + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
- - - - - - - - - -
-
-
-

- -

-
- -
-
+
+

Sequence Result

Type: enum (of string)
-
-

Must be one of:

-
  • "start"
  • "errr"
  • "skip"
  • "pass"
  • "fail"
-
+ status + + + + category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ -
-
-
- -
-
-
-

- -

-
- -
-
+
+

Entry

Type: object
- - - No Additional Properties + status + + + + category + + + + oneOf + + + + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ -
-
-
-

- -

-
- -
-
+
+ Type: string
-

A human-readable one-line description of the entry

-
+ category + + + + oneOf + + + + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ -
-
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 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -15793,7 +18187,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -15861,7 +18255,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -15929,7 +18323,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -15997,7 +18391,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -16065,7 +18459,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -16133,7 +18527,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -16201,7 +18595,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -16269,7 +18663,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -16337,7 +18731,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -16405,7 +18799,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -16473,7 +18867,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -16541,7 +18935,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -16609,7 +19003,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -16677,7 +19071,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -16745,7 +19139,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -16813,7 +19207,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -16881,7 +19275,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -16949,7 +19343,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -17017,7 +19411,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -17085,7 +19479,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -17153,7 +19547,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -17221,7 +19615,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -17289,7 +19683,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -17357,7 +19751,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -17425,7 +19819,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -17493,7 +19887,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -17561,7 +19955,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -17629,7 +20023,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -17697,7 +20091,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -17765,7 +20159,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -17833,7 +20227,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -17901,7 +20295,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 41
Type: object
+Must match regular expression: ^validation\.feature\.capability$ @@ -17969,7 +20363,7 @@

+ id="tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i42" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 42
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: object
-Must match regular expression: ^validation\.feature\.schema$ - - - - - - -
- - - 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: ^validation\.feature\.capability$ + scoring
Type: object
+ No Additional Properties -
- +
+
+
+

+ +

+
+ +
+
Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ - - - - + value
Type: integer
-
- @@ -18251,18 +20716,18 @@

-
+
-
+

- +

-
+
Type: stringFormat: date-time
-

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

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

- +

-
+

Validation Summary

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

+ +

+
+ +
+
+ + Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + 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).

-
+ correct_devices items
Type: string
+ -

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

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

- +

-
+
Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+
+ + + Type: object
- No Additional Properties + extra_devices items
Type: string
+ -
+
+
+
+
+
+
+
-
+

- +

-
+
Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+ Type: string
@@ -18522,22 +21052,24 @@

+

+
-
+
-
+

- +

-
+
Type: array of string
+ + + + + + + No Additional Items

Each item of this array must be:

+
+ Type: string
@@ -18590,22 +21127,8 @@

-

-
-
-
-
-
-
-
-
-
-
-
-
- @@ -18614,18 +21137,18 @@

-
+
-
+

- +

-
+

Validation Summary

Type: object
+ devices
Type: object
No Additional Properties @@ -18643,19 +21166,24 @@

-
+
-
+

- +

-
-
+
+

+ +

+

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: array of string
+ Device Validation Events

Device Validation Events

Type: object
+

Validation summary information for an individual device.

+
+ No Additional Properties - No Additional Items

Each item of this array must be:

+ +
-
- +
+

+ +

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

Last time any message from this device was received

+
-
-
-
+
-
+

- +

-
+
Type: array of string
- + Device Validation Events + + + + oldest_mark
Type: stringFormat: date-time
+

Oldest recorded mark for this device

+
- No Additional Items

Each item of this array must be:

+ +
+
+
+
+
-
- +
+

+ +

+
+ +
+
Type: string
+ status

Entry

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

- +

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

A human-readable one-line description of the entry

+
- No Additional Items

Each item of this array must be:

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

+ +

+
+ +
+
Type: string
- + status + + + + detail
Type: string
+

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

+
-
-
-
+
-
+

- +

-
+
Type: array of string
- - + Device Validation Events + + + + status + + + + category

Category

Type: 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 + item 0
Type: object
+Must match regular expression: ^system\.base\.start$ -
-
-
-

- -

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

Last time any message from this device was received

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

- -

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

Oldest recorded mark for this device

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

- -

-
- -
-
+
+

Entry

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

- -

-
- -
-
- - Type: string
-

A human-readable one-line description of the entry

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

- -

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

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

-
+ category + + + + oneOf + + + + item 3
Type: object
+Must match regular expression: ^system\.config\.receive$ -
-
-
-
-
-
-
-

- -

-
- -
-
+
+

Category

Type: string
- - -

- -

-
+ category + + + + oneOf + + + + item 4
Type: object
+Must match regular expression: ^system\.config\.parse$ + + + + + + +
Type: object
-Must match regular expression: ^system\.base\.start$ + item 5
Type: object
+Must match regular expression: ^system\.config\.apply$ @@ -19563,7 +22053,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i6" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.shutdown$ + item 6
Type: object
+Must match regular expression: ^system\.auth\.login$ @@ -19617,7 +22107,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i7" role="tabpanel"> Type: object
-Must match regular expression: ^system\.base\.ready$ + item 7
Type: object
+Must match regular expression: ^system\.auth\.logout$ @@ -19671,7 +22161,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i8" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.receive$ + item 8
Type: object
+Must match regular expression: ^system\.auth\.fail$ @@ -19725,7 +22215,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i9" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.parse$ + item 9
Type: object
+Must match regular expression: ^pointset\.point\.nominal$ @@ -19779,7 +22269,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i10" role="tabpanel"> Type: object
-Must match regular expression: ^system\.config\.apply$ + item 10
Type: object
+Must match regular expression: ^pointset\.point\.applied$ @@ -19833,7 +22323,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i11" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.login$ + item 11
Type: object
+Must match regular expression: ^pointset\.point\.updating$ @@ -19887,7 +22377,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i12" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.logout$ + item 12
Type: object
+Must match regular expression: ^pointset\.point\.overridden$ @@ -19941,7 +22431,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i13" role="tabpanel"> Type: object
-Must match regular expression: ^system\.auth\.fail$ + item 13
Type: object
+Must match regular expression: ^pointset\.point\.failure$ @@ -19995,7 +22485,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i14" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.nominal$ + item 14
Type: object
+Must match regular expression: ^pointset\.point\.invalid$ @@ -20049,7 +22539,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i15" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.applied$ + item 15
Type: object
+Must match regular expression: ^localnet\.network$ @@ -20103,7 +22593,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i16" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.updating$ + item 16
Type: object
+Must match regular expression: ^localnet\.network\.connect$ @@ -20157,7 +22647,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i17" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.overridden$ + item 17
Type: object
+Must match regular expression: ^gateway\.setup\.attach$ @@ -20211,7 +22701,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i18" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.failure$ + item 18
Type: object
+Must match regular expression: ^gateway\.proxy\.target$ @@ -20265,7 +22755,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i19" role="tabpanel"> Type: object
-Must match regular expression: ^pointset\.point\.invalid$ + item 19
Type: object
+Must match regular expression: ^gateway\.proxy\.connect$ @@ -20319,7 +22809,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i20" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network$ + item 20
Type: object
+Must match regular expression: ^discovery\.family\.scan$ @@ -20373,7 +22863,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i21" role="tabpanel"> Type: object
-Must match regular expression: ^localnet\.network\.connect$ + item 21
Type: object
+Must match regular expression: ^discovery\.device\.enumerate$ @@ -20427,7 +22917,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i22" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.setup\.attach$ + item 22
Type: object
+Must match regular expression: ^discovery\.point\.describe$ @@ -20481,7 +22971,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i23" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.target$ + item 23
Type: object
+Must match regular expression: ^mapping\.device\.apply$ @@ -20535,7 +23025,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i24" role="tabpanel"> Type: object
-Must match regular expression: ^gateway\.proxy\.connect$ + item 24
Type: object
+Must match regular expression: ^blobset\.blob\.receive$ @@ -20589,7 +23079,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i25" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.family\.scan$ + item 25
Type: object
+Must match regular expression: ^blobset\.blob\.fetch$ @@ -20643,7 +23133,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i26" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.device\.enumerate$ + item 26
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.success$ @@ -20697,7 +23187,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i27" role="tabpanel"> Type: object
-Must match regular expression: ^discovery\.point\.describe$ + item 27
Type: object
+Must match regular expression: ^blobset\.blob\.fetch\.failure$ @@ -20751,7 +23241,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i28" role="tabpanel"> Type: object
-Must match regular expression: ^mapping\.device\.apply$ + item 28
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.parse$ @@ -20805,7 +23295,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i29" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.receive$ + item 29
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.hash$ @@ -20859,7 +23349,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i30" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.fetch$ + item 30
Type: object
+Must match regular expression: ^blobset\.blob\.verify\.compatibility$ @@ -20913,7 +23403,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i31" role="tabpanel"> Type: object
-Must match regular expression: ^blobset\.blob\.apply$ + item 31
Type: object
+Must match regular expression: ^blobset\.blob\.apply$ @@ -20967,7 +23457,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i32" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.receive$ + item 32
Type: object
+Must match regular expression: ^blobset\.blob\.abort$ @@ -21021,7 +23511,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i33" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.schema$ + item 33
Type: object
+Must match regular expression: ^validation\.device\.receive$ @@ -21075,7 +23565,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i34" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.content$ + item 34
Type: object
+Must match regular expression: ^validation\.device\.schema$ @@ -21129,7 +23619,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i35" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.multiple$ + item 35
Type: object
+Must match regular expression: ^validation\.device\.content$ @@ -21183,7 +23673,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i36" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.device\.extra$ + item 36
Type: object
+Must match regular expression: ^validation\.device\.multiple$ @@ -21237,7 +23727,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i37" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.summary\.report$ + item 37
Type: object
+Must match regular expression: ^validation\.device\.extra$ @@ -21291,7 +23781,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i38" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.sequence$ + item 38
Type: object
+Must match regular expression: ^validation\.summary\.report$ @@ -21345,7 +23835,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i39" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.schema$ + item 39
Type: object
+Must match regular expression: ^validation\.feature\.sequence$ @@ -21399,7 +23889,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i40" role="tabpanel"> Type: object
-Must match regular expression: ^validation\.feature\.capability$ + item 40
Type: object
+Must match regular expression: ^validation\.feature\.schema$ @@ -21453,7 +23943,7 @@

+ id="tab-pane_devices_pattern1_status_category_oneOf_i41" role="tabpanel"> Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ + item 41
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/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..1665cbf6db 100644 --- a/gencode/java/udmi/schema/Category.java +++ b/gencode/java/udmi/schema/Category.java @@ -171,12 +171,48 @@ public class Category { public static final int BLOBSET_BLOB_FETCH_VALUE = DEBUG.value(); static { LEVEL.put(BLOBSET_BLOB_FETCH, DEBUG); } + // Successfully fetched a blob + public static final String BLOBSET_BLOB_FETCH_SUCCESS = "blobset.blob.fetch.success"; + public static final Level BLOBSET_BLOB_FETCH_SUCCESS_LEVEL = DEBUG; + public static final int BLOBSET_BLOB_FETCH_SUCCESS_VALUE = DEBUG.value(); + static { LEVEL.put(BLOBSET_BLOB_FETCH_SUCCESS, DEBUG); } + + // 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); } + + // Error parsing blob + public static final String BLOBSET_BLOB_VERIFY_PARSE = "blobset.blob.verify.parse"; + public static final Level BLOBSET_BLOB_VERIFY_PARSE_LEVEL = ERROR; + public static final int BLOBSET_BLOB_VERIFY_PARSE_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_VERIFY_PARSE, ERROR); } + + // Blob hash mismatch + public static final String BLOBSET_BLOB_VERIFY_HASH = "blobset.blob.verify.hash"; + public static final Level BLOBSET_BLOB_VERIFY_HASH_LEVEL = ERROR; + public static final int BLOBSET_BLOB_VERIFY_HASH_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_VERIFY_HASH, ERROR); } + + // Hardware or dependency mismatch + public static final String BLOBSET_BLOB_VERIFY_COMPATIBILITY = "blobset.blob.verify.compatibility"; + public static final Level BLOBSET_BLOB_VERIFY_COMPATIBILITY_LEVEL = ERROR; + public static final int BLOBSET_BLOB_VERIFY_COMPATIBILITY_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_VERIFY_COMPATIBILITY, 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); } + // Aborting/Cancelling a blob update + 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); } + // 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/OtaTestingModel.java b/gencode/java/udmi/schema/OtaTestingModel.java new file mode 100644 index 0000000000..c2e10af158 --- /dev/null +++ b/gencode/java/udmi/schema/OtaTestingModel.java @@ -0,0 +1,133 @@ + +package udmi.schema; + +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; + + +/** + * Ota Testing Model + *

+ * + * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "blob_key", + "url", + "sha256", + "version", + "test_type" +}) +public class OtaTestingModel { + + /** + * Blob key for the payload + * + */ + @JsonProperty("blob_key") + @JsonPropertyDescription("Blob key for the payload") + public String blob_key; + /** + * 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; + /** + * Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch. + * + */ + @JsonProperty("test_type") + @JsonPropertyDescription("Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch.") + public OtaTestingModel.Test_type test_type; + + @Override + public int hashCode() { + int result = 1; + result = ((result* 31)+((this.blob_key == null)? 0 :this.blob_key.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())); + result = ((result* 31)+((this.test_type == null)? 0 :this.test_type.hashCode())); + return result; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if ((other instanceof OtaTestingModel) == false) { + return false; + } + OtaTestingModel rhs = ((OtaTestingModel) other); + return ((((((this.blob_key == rhs.blob_key)||((this.blob_key!= null)&&this.blob_key.equals(rhs.blob_key)))&&((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))))&&((this.test_type == rhs.test_type)||((this.test_type!= null)&&this.test_type.equals(rhs.test_type)))); + } + + + /** + * Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch. + * + */ + public enum Test_type { + + HAPPY("happy"), + BAD_HASH("bad_hash"); + private final String value; + private final static Map CONSTANTS = new HashMap(); + + static { + for (OtaTestingModel.Test_type c: values()) { + CONSTANTS.put(c.value, c); + } + } + + Test_type(String value) { + this.value = value; + } + + @Override + public String toString() { + return this.value; + } + + @JsonValue + public String value() { + return this.value; + } + + @JsonCreator + public static OtaTestingModel.Test_type fromValue(String value) { + OtaTestingModel.Test_type constant = CONSTANTS.get(value); + if (constant == null) { + throw new IllegalArgumentException(value); + } else { + return constant; + } + } + + } + +} diff --git a/gencode/java/udmi/schema/TestingModel.java b/gencode/java/udmi/schema/TestingModel.java index 290b33addb..45749fa478 100644 --- a/gencode/java/udmi/schema/TestingModel.java +++ b/gencode/java/udmi/schema/TestingModel.java @@ -2,6 +2,7 @@ package udmi.schema; import java.util.HashMap; +import java.util.List; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -16,7 +17,8 @@ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "nostate", - "targets" + "targets", + "ota_targets" }) public class TestingModel { @@ -24,11 +26,14 @@ public class TestingModel { public Boolean nostate; @JsonProperty("targets") public HashMap targets; + @JsonProperty("ota_targets") + public List ota_targets; @Override public int hashCode() { int result = 1; result = ((result* 31)+((this.targets == null)? 0 :this.targets.hashCode())); + result = ((result* 31)+((this.ota_targets == null)? 0 :this.ota_targets.hashCode())); result = ((result* 31)+((this.nostate == null)? 0 :this.nostate.hashCode())); return result; } @@ -42,7 +47,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.targets == rhs.targets)||((this.targets!= null)&&this.targets.equals(rhs.targets)))&&((this.ota_targets == rhs.ota_targets)||((this.ota_targets!= null)&&this.ota_targets.equals(rhs.ota_targets))))&&((this.nostate == rhs.nostate)||((this.nostate!= null)&&this.nostate.equals(rhs.nostate)))); } } diff --git a/gencode/python/poetry.lock b/gencode/python/poetry.lock deleted file mode 100644 index d923e4628b..0000000000 --- a/gencode/python/poetry.lock +++ /dev/null @@ -1,94 +0,0 @@ -# This file is automatically @generated by Poetry 2.3.3 and should not be changed by hand. - -[[package]] -name = "dataclasses-json" -version = "0.6.7" -description = "Easily serialize dataclasses to and from JSON." -optional = false -python-versions = "<4.0,>=3.7" -groups = ["main"] -files = [ - {file = "dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a"}, - {file = "dataclasses_json-0.6.7.tar.gz", hash = "sha256:b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0"}, -] - -[package.dependencies] -marshmallow = ">=3.18.0,<4.0.0" -typing-inspect = ">=0.4.0,<1" - -[[package]] -name = "marshmallow" -version = "3.22.0" -description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "marshmallow-3.22.0-py3-none-any.whl", hash = "sha256:71a2dce49ef901c3f97ed296ae5051135fd3febd2bf43afe0ae9a82143a494d9"}, - {file = "marshmallow-3.22.0.tar.gz", hash = "sha256:4972f529104a220bb8637d595aa4c9762afbe7f7a77d82dc58c1615d70c5823e"}, -] - -[package.dependencies] -packaging = ">=17.0" - -[package.extras] -dev = ["marshmallow[tests]", "pre-commit (>=3.5,<4.0)", "tox"] -docs = ["alabaster (==1.0.0)", "autodocsumm (==0.2.13)", "sphinx (==8.0.2)", "sphinx-issues (==4.1.0)", "sphinx-version-warning (==1.1.2)"] -tests = ["pytest", "pytz", "simplejson"] - -[[package]] -name = "mypy-extensions" -version = "1.1.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, - {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, -] - -[[package]] -name = "packaging" -version = "26.0" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529"}, - {file = "packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4"}, -] - -[[package]] -name = "typing-extensions" -version = "4.13.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, - {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, -] - -[[package]] -name = "typing-inspect" -version = "0.9.0" -description = "Runtime inspection utilities for typing module." -optional = false -python-versions = "*" -groups = ["main"] -files = [ - {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, - {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, -] - -[package.dependencies] -mypy-extensions = ">=0.3.0" -typing-extensions = ">=3.7.4" - -[metadata] -lock-version = "2.1" -python-versions = ">=3.8,<4.0" -content-hash = "40cd6dbb6ffd3808981397f946e222609c2c897c26c3278c40b336a349bb837a" diff --git a/gencode/python/udmi/schema/__init__.py b/gencode/python/udmi/schema/__init__.py index af4b272591..6954d89a49 100644 --- a/gencode/python/udmi/schema/__init__.py +++ b/gencode/python/udmi/schema/__init__.py @@ -66,6 +66,7 @@ from .model_system import * from .model_system_hardware import * from .model_testing import * +from .model_testing_ota import * from .model_testing_target import * from .monitoring import * from .monitoring_metric 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..b947428d1d 100644 --- a/gencode/python/udmi/schema/category.py +++ b/gencode/python/udmi/schema/category.py @@ -89,9 +89,27 @@ class Category(Enum): # Fetching a blob update BLOBSET_BLOB_FETCH = ("blobset.blob.fetch", Level.DEBUG) + # Successfully fetched a blob + BLOBSET_BLOB_FETCH_SUCCESS = ("blobset.blob.fetch.success", Level.DEBUG) + + # Blob fetch failed + BLOBSET_BLOB_FETCH_FAILURE = ("blobset.blob.fetch.failure", Level.ERROR) + + # Error parsing blob + BLOBSET_BLOB_VERIFY_PARSE = ("blobset.blob.verify.parse", Level.ERROR) + + # Blob hash mismatch + BLOBSET_BLOB_VERIFY_HASH = ("blobset.blob.verify.hash", Level.ERROR) + + # Hardware or dependency mismatch + BLOBSET_BLOB_VERIFY_COMPATIBILITY = ("blobset.blob.verify.compatibility", Level.ERROR) + # Applying a blob update BLOBSET_BLOB_APPLY = ("blobset.blob.apply", Level.NOTICE) + # Aborting/Cancelling a blob update + BLOBSET_BLOB_ABORT = ("blobset.blob.abort", 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..ee9c2eeb1a 100644 --- a/gencode/python/udmi/schema/model_testing.py +++ b/gencode/python/udmi/schema/model_testing.py @@ -4,9 +4,10 @@ from __future__ import annotations from dataclasses import dataclass -from typing import Dict, Optional +from typing import Dict, List, Optional from ._base import DataModel +from .model_testing_ota import OtaTestingModel from .model_testing_target import TargetTestingModel @@ -18,3 +19,4 @@ class TestingModel(DataModel): nostate: Optional[bool] = None targets: Optional[Dict[str, TargetTestingModel]] = None + ota_targets: Optional[List[OtaTestingModel]] = None diff --git a/gencode/python/udmi/schema/model_testing_ota.py b/gencode/python/udmi/schema/model_testing_ota.py new file mode 100644 index 0000000000..8dedcd4aa9 --- /dev/null +++ b/gencode/python/udmi/schema/model_testing_ota.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: model_testing_ota.json + +from __future__ import annotations + +from dataclasses import dataclass +from enum import Enum +from typing import Optional + +from ._base import DataModel + + +class TestType(Enum): + """ + Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch. + """ + + happy = 'happy' + bad_hash = 'bad_hash' + + +@dataclass +class OtaTestingModel(DataModel): + blob_key: Optional[str] = None + url: Optional[str] = None + sha256: Optional[str] = None + version: Optional[str] = None + test_type: Optional[TestType] = 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/src/main/java/daq/pubber/impl/PubberManager.java b/pubber/src/main/java/daq/pubber/impl/PubberManager.java index 411dd20ebd..fcff853ded 100644 --- a/pubber/src/main/java/daq/pubber/impl/PubberManager.java +++ b/pubber/src/main/java/daq/pubber/impl/PubberManager.java @@ -27,6 +27,8 @@ public class PubberManager extends ManagerBase { protected static final String LOG_PATH = "pubber/out"; protected static final String PERSISTENT_STORE_FILE = "persistent_data.json"; protected static final String PERSISTENT_TMP_FORMAT = "/tmp/pubber_%s_" + PERSISTENT_STORE_FILE; + protected static final String SOFTWARE_MODULE_KEY = "pubber_module"; + protected static final String SOFTWARE_MODULE_DIR = "out/pubber_module_repo"; protected final PubberConfiguration config; protected final PubberOptions options; 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..6e5f249970 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -27,6 +27,8 @@ import daq.pubber.impl.manager.PubberDeviceManager; import java.io.File; import java.io.PrintStream; +import java.util.function.Consumer; +import org.apache.commons.io.FileUtils; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; @@ -38,6 +40,11 @@ import udmi.lib.base.MqttDevice; import udmi.lib.client.host.PublisherHost; import udmi.lib.client.manager.DeviceManager; +import java.util.HashMap; +import udmi.schema.BlobBlobsetState; +import udmi.schema.BlobBlobsetConfig.BlobPhase; +import udmi.schema.BlobsetState; +import udmi.schema.Category; import udmi.schema.DevicePersistent; import udmi.schema.EndpointConfiguration; import udmi.schema.Metadata; @@ -112,9 +119,102 @@ public void initializeDevice() { config.deviceId, config.serialNo, config.macAddr, config.gatewayId, optionsString(config.options))); + initModuleForOtaUpdates(); markStateDirty(); } + private void initModuleForOtaUpdates() { + try { + File repoDir = new File(SOFTWARE_MODULE_DIR); + if (repoDir.exists()) { + FileUtils.deleteDirectory(repoDir); + } + + // Fallback logic to find the source .git directory depending on where tests are run + File srcGit = new File(".git"); + if (!srcGit.exists()) { + srcGit = new File("../.git"); + } + + if (srcGit.exists()) { + File srcDir = srcGit.getParentFile() != null ? srcGit.getParentFile() : new File("."); + info(format("Cloning repo from %s to %s", srcDir.getAbsolutePath(), repoDir.getAbsolutePath())); + runCommandInDir(srcDir, "git", "clone", ".", repoDir.getAbsolutePath()); + info("Isolated repo initialized."); + } else { + warn("Source .git directory not found, cannot initialize isolated repo."); + } + } catch (Exception e) { + error("While initializing isolated repo", e); + } + } + + private Consumer getBlobHandler(String blobKey) { + return Map.>of( + SOFTWARE_MODULE_KEY, this::handleOtaUpdate + ).get(blobKey); + } + + @Override + public boolean isSupportedBlob(String blobKey) { + return getBlobHandler(blobKey) != null; + } + + @Override + public void handleBlob(String blobKey, String payload) { + getBlobHandler(blobKey).accept(payload); + } + + @Override + public void postHandleBlob(String blobKey) { + if (SOFTWARE_MODULE_KEY.equals(blobKey)) { + notice("Post-processing Git OTA update. Restarting..."); + getDeviceManager().systemLifecycle(Operation.SystemMode.RESTART); + } + } + + private void handleOtaUpdate(String payload) { + // Note: The payload is assumed to be the commit hash directly. + // In a real UDMI scenario, this would be the content of a downloaded file. + String commitHash = payload.trim(); + info(format("Triggering Git OTA update to commit %s", commitHash)); + + logEvent(Category.BLOBSET_BLOB_APPLY,"Applying Git OTA update to commit " + commitHash); + + File repoDir = new File(SOFTWARE_MODULE_DIR); + if (!repoDir.exists()) { + throw new RuntimeException("Isolated repo directory not found"); + } + + try { + runCommandInDir(repoDir, "git", "fetch"); + runCommandInDir(repoDir, "git", "checkout", commitHash); + notice("Git OTA update completed successfully."); + } catch (Exception e) { + throw new RuntimeException("Git operation failed", e); + } + } + + private void runCommandInDir(File dir, String... command) throws Exception { + ProcessBuilder pb = new ProcessBuilder(command); + pb.directory(dir); + pb.redirectErrorStream(true); + Process p = pb.start(); + + try (java.io.BufferedReader reader = new java.io.BufferedReader( + new java.io.InputStreamReader(p.getInputStream()))) { + String line; + while ((line = reader.readLine()) != null) { + // Use logger instead of System.out to avoid cluttering console + debug("Git: " + line); + } + } + + int exitCode = p.waitFor(); + if (exitCode != 0) { + throw new RuntimeException(format("Command failed with exit code %d", exitCode)); + } + } @Override public void initializePersistentStore() { checkState(persistentData == null, "Persistent data already loaded"); @@ -132,6 +232,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) { diff --git a/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java b/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java index df1de1cc68..125d2fe91e 100644 --- a/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java +++ b/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java @@ -4,6 +4,9 @@ import static java.lang.String.format; import daq.pubber.impl.PubberManager; +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -93,10 +96,30 @@ public void setHardwareSoftware(Metadata metadata) { ExtraSystemState state = getSystemState(); ifNullThen(state.hardware.make, () -> state.hardware.make = "bos"); ifNullThen(state.hardware.model, () -> state.hardware.model = "pubber"); - ifNullThen(state.software, () -> { - state.software = new HashMap<>(); - state.software.put(DEFAULT_SOFTWARE_KEY, "v1"); - }); + ifNullThen(state.software, () -> state.software = new HashMap<>()); + state.software.putIfAbsent(DEFAULT_SOFTWARE_KEY, "v1"); + state.software.put(SOFTWARE_MODULE_KEY, getGitCommitHash()); } } + + private String getGitCommitHash() { + try { + File repoDir = new File(SOFTWARE_MODULE_DIR); + if (!repoDir.exists()) { + return "unknown"; + } + ProcessBuilder pb = new ProcessBuilder("git", "rev-parse", "HEAD"); + pb.directory(repoDir); + Process p = pb.start(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()))) { + String line = reader.readLine(); + if (line != null) { + return line.trim(); + } + } + } catch (Exception e) { + // Ignore or log + } + return "unknown"; + } } 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..b3f1cdc0b3 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -40,6 +40,7 @@ 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; @@ -63,8 +64,10 @@ 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; @@ -161,6 +164,102 @@ default String extractConfigBlob(String blobName) { } } + /** + * Processes all blobs in the configuration, skipping system blobs. + */ + default void processBlobConfig() { + if (getDeviceConfig().blobset == null || getDeviceConfig().blobset.blobs == null) { + return; + } + for (String blobKey : getDeviceConfig().blobset.blobs.keySet()) { + if (Arrays.stream(SystemBlobsets.values()).anyMatch(e -> e.value().equals(blobKey))) { + continue; + } + if (!isSupportedBlob(blobKey)) { + warn("Skipping unknown blob key: " + blobKey); + continue; + } + processBlobConfig(blobKey); + } + } + + /** + * Checks if the application supports the given blob key. + */ + default boolean isSupportedBlob(String blobKey) { + return false; + } + + /** + * Processes the blob config for a given blob key and handles state transitions. + */ + default void processBlobConfig(String blobKey) { + if (getDeviceConfig().blobset == null || getDeviceConfig().blobset.blobs == null) { + return; + } + + BlobBlobsetConfig config = getDeviceConfig().blobset.blobs.get(blobKey); + if (config == null) { + return; + } + BlobBlobsetState state = ensureBlobsetState(blobKey); + if (config.generation != null && config.generation.equals(state.generation) + && BlobPhase.FINAL.equals(state.phase)) { + return; + } + + logEvent(Category.BLOBSET_BLOB_RECEIVE, "Received blob update config for " + blobKey); + try { + // Transition to APPLY + state.phase = BlobPhase.APPLY; + state.generation = config.generation; + publishSynchronousState(); + + logEvent(Category.BLOBSET_BLOB_FETCH, "Fetching blob data for " + blobKey); + String payload = extractConfigBlob(blobKey); + if (payload == null) { + warn(format("Blob %s not ready for extraction", blobKey)); + return; + } + logEvent(Category.BLOBSET_BLOB_FETCH_SUCCESS, "Successfully fetched blob data for " + blobKey); + + // Apply application-specific logic + handleBlob(blobKey, payload); + + // Transition to FINAL + state.phase = BlobPhase.FINAL; + state.status = null; + notice(format("Blob %s successfully applied", blobKey)); + publishSynchronousState(); + + // Persist applied blob before actions like a restart + persistAppliedBlob(blobKey, isoConvert(config.generation)); + + postHandleBlob(blobKey); + } catch (Exception e) { + state.phase = BlobPhase.FINAL; + state.status = exceptionStatus(e, Category.BLOBSET_BLOB_APPLY); + error(format("Failed to apply blob %s", blobKey), e); + + String category = Category.BLOBSET_BLOB_FETCH_FAILURE; + if (e.getMessage() != null && e.getMessage().contains("hash mismatch")) { + category = Category.BLOBSET_BLOB_VERIFY_HASH; + } + logEvent(category, "For blob key " + blobKey + ":\n", e); + } finally { + publishAsynchronousState(); + } + } + + /** + * Handles application-specific blob processing. + */ + void handleBlob(String blobKey, String payload); + + default void postHandleBlob(String blobKey) { + // Default no-op + } + default boolean isConnected() { return getDeviceTarget() != null && getDeviceTarget().isActive(); } @@ -517,6 +616,7 @@ private void processConfigUpdate(Config configMsg) { info(format("%s received config %s", getTimestamp(), isoConvert(configMsg.timestamp))); getDeviceManager().updateConfig(configMsg); extractEndpointBlobConfig(); + processBlobConfig(); } else { info(format("%s defaulting empty config", getTimestamp())); } @@ -769,14 +869,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 blobKey) { 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(blobKey, 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()); @@ -786,6 +893,21 @@ default void publishLogMessage(Entry logEntry, String targetId) { getDeviceManager().publishLogMessage(logEntry, targetId); } + /** + * Logs an event with a specific category and level. + */ + default void logEvent(String category, String message, Throwable e) { + Entry entry = entryFromException(category, e); + if (message != null) { + entry.message = message + entry.message; + } + publishLogMessage(entry, getDeviceId()); + } + + default void logEvent(String category, String message) { + logEvent(category, message, null); + } + /** * Publishes the current state asynchronously, deferring if necessary to ensure that the state * update does not occur too frequently. @@ -1054,6 +1176,15 @@ default void persistEndpoint(EndpointConfiguration endpoint) { writePersistentStore(); } + /** + * Persist active generation for a blob. + */ + default void persistAppliedBlob(String blobKey, String generation) { + notice("Persisting generation " + generation + " for blob key " + blobKey); + getPersistentData().applied_blobs.put(blobKey, 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..13d9ba9c32 100644 --- a/schema/category.json +++ b/schema/category.json @@ -30,7 +30,13 @@ { "pattern": "^mapping\\.device\\.apply$" }, { "pattern": "^blobset\\.blob\\.receive$" }, { "pattern": "^blobset\\.blob\\.fetch$" }, + { "pattern": "^blobset\\.blob\\.fetch\\.success$" }, + { "pattern": "^blobset\\.blob\\.fetch\\.failure$" }, + { "pattern": "^blobset\\.blob\\.verify\\.parse$" }, + { "pattern": "^blobset\\.blob\\.verify\\.hash$" }, + { "pattern": "^blobset\\.blob\\.verify\\.compatibility$" }, { "pattern": "^blobset\\.blob\\.apply$" }, + { "pattern": "^blobset\\.blob\\.abort$" }, { "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..e92033f664 100644 --- a/schema/model_testing.json +++ b/schema/model_testing.json @@ -17,6 +17,12 @@ "$ref": "file:model_testing_target.json#" } } + }, + "ota_targets": { + "type": "array", + "items": { + "$ref": "file:model_testing_ota.json#" + } } } } diff --git a/schema/model_testing_ota.json b/schema/model_testing_ota.json new file mode 100644 index 0000000000..8d73962a5d --- /dev/null +++ b/schema/model_testing_ota.json @@ -0,0 +1,30 @@ +{ + "$udmi_version": "1.5.2", + "title": "Ota Testing Model", + "type": "object", + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "properties": { + "blob_key": { + "description": "Blob key 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" + }, + "test_type": { + "description": "Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch.", + "type": "string", + "enum": ["happy", "bad_hash"] + } + } +} 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" } } } From dfa0f86bae7b9977757568d83e079568a25fe8fe Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 7 Apr 2026 07:55:52 +0000 Subject: [PATCH 02/22] Fix typo --- docs/specs/categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/specs/categories.md b/docs/specs/categories.md index 4b4a4c21bf..80555f6e22 100644 --- a/docs/specs/categories.md +++ b/docs/specs/categories.md @@ -65,7 +65,7 @@ could be used with a **WARNING** level for a warning case during normal operatio * _hash_: (**ERROR**) Blob hash mismatch * _compatibility_: (**ERROR**) Hardware or dependency mismatch * _apply_: (**NOTICE**) Applying a blob update - * _abort_: (**NOTICE**) Aborting/Cancelling a blob update + * _abort_: (**NOTICE**) Aborting/Canceling a blob update * _validation_: Handling validation pipeline messages * _device_: Conditions specific to processing a given device message. * _receive_: (**DEBUG**) Receiving/processing a message for validation. From 27045fa29e4208658c6a052b02543d05e473d78e Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 7 Apr 2026 08:09:44 +0000 Subject: [PATCH 03/22] Fix CI job --- .github/workflows/testing.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index b13fe64685..c10e25c47c 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -328,6 +328,8 @@ jobs: TARGET_PROJECT: //mqtt/localhost steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/setup-java@v4 with: distribution: 'temurin' From fc19ade23348e7c1fb7a12ace50a1bd203f092cf Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 7 Apr 2026 09:21:15 +0000 Subject: [PATCH 04/22] Fix failing tests --- .gencode_hash.txt | 4 ++-- gencode/java/udmi/schema/Category.java | 2 +- gencode/python/udmi/schema/category.py | 2 +- .../pubber/impl/host/PubberPublisherHost.java | 14 ++++++++------ .../udmi/lib/client/host/PublisherHost.java | 17 +++++++++-------- tests/schemas/events_system/categories.out | 12 ++++++------ tests/schemas/events_system/errors.out | 2 +- 7 files changed, 28 insertions(+), 25 deletions(-) diff --git a/.gencode_hash.txt b/.gencode_hash.txt index 1cb7db2ec3..d289970198 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -41,7 +41,7 @@ d9f2924753c34ea5c8c9532d3a94c0c2fe2891d2cc8766646d40b1e90636f372 gencode/java/u 8773da8131fdc0f9409df0c04132abdaa01f658d0ec0e73dd8aa714b24454bdc gencode/java/udmi/schema/BuildingConfigEntity.java 519ead2ee2fe3e6fe48547266dec9a545521d52d262646f261ebfbbf8500d25f gencode/java/udmi/schema/BuildingTranslation.java 27ca4f61bd43beca0871b465f3906785a1030a4526605f1fa9b10e3adda8df05 gencode/java/udmi/schema/CapabilityValidationState.java -9814060e982938142ba398e1e31ed4fa176d347012af43685c37126152f0a9dd gencode/java/udmi/schema/Category.java +083bd1b02f3d63b2f20bfefdb2866002a341f9aa28ef578a4356de115400f258 gencode/java/udmi/schema/Category.java 0101d742dbaa23fb2152b044e5eabd6d219047cddbb973e9626a026946b7ddfc gencode/java/udmi/schema/CloudModel.java 051b4a7c85a2f1a310787f88f336be2fc9b87c99a94ac2f970955d2fe1daa931 gencode/java/udmi/schema/CloudQuery.java 3e6572b16184bde7557eb67334405e7c5b58446e64802658cf0d5ef3b0018909 gencode/java/udmi/schema/Common.java @@ -158,7 +158,7 @@ f9d90861e568b27445bef241f04cce64cc44731c95c8bd9e3f65cef79d42dab0 gencode/python 2cde1ab831cfe9e06f772bcafd32540111617596b138ecfdcc8af6bc20e29b67 gencode/python/udmi/schema/bucket.py b4f4a394ce4049fafe267a146458d5b1725e2532788c5811b4b0b96f84715e31 gencode/python/udmi/schema/building_config_entity.py 6289f299f33104a14be1c67762c8bcb494c008d34a2ff906ef3760164538fc82 gencode/python/udmi/schema/building_translation.py -4c4c338c5b93bc4721421d827d01f5512bee2a585d9e75ae0602d2a7fbf6c14e gencode/python/udmi/schema/category.py +dc5580381748cc2a99dcc294832ed92fd89cea526d930e79b2ccf3b2e574ab1c 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 diff --git a/gencode/java/udmi/schema/Category.java b/gencode/java/udmi/schema/Category.java index 1665cbf6db..501c316327 100644 --- a/gencode/java/udmi/schema/Category.java +++ b/gencode/java/udmi/schema/Category.java @@ -207,7 +207,7 @@ public class Category { public static final int BLOBSET_BLOB_APPLY_VALUE = NOTICE.value(); static { LEVEL.put(BLOBSET_BLOB_APPLY, NOTICE); } - // Aborting/Cancelling a blob update + // Aborting/Canceling a blob update 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(); diff --git a/gencode/python/udmi/schema/category.py b/gencode/python/udmi/schema/category.py index b947428d1d..c46a3bae4a 100644 --- a/gencode/python/udmi/schema/category.py +++ b/gencode/python/udmi/schema/category.py @@ -107,7 +107,7 @@ class Category(Enum): # Applying a blob update BLOBSET_BLOB_APPLY = ("blobset.blob.apply", Level.NOTICE) - # Aborting/Cancelling a blob update + # Aborting/Canceling a blob update BLOBSET_BLOB_ABORT = ("blobset.blob.abort", Level.NOTICE) # Receiving/processing a message for validation. 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 6e5f249970..2dcd016b3d 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -27,8 +27,7 @@ import daq.pubber.impl.manager.PubberDeviceManager; import java.io.File; import java.io.PrintStream; -import java.util.function.Consumer; -import org.apache.commons.io.FileUtils; +import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; @@ -37,12 +36,13 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import java.util.function.Consumer; +import org.apache.commons.io.FileUtils; import udmi.lib.base.MqttDevice; import udmi.lib.client.host.PublisherHost; import udmi.lib.client.manager.DeviceManager; -import java.util.HashMap; -import udmi.schema.BlobBlobsetState; import udmi.schema.BlobBlobsetConfig.BlobPhase; +import udmi.schema.BlobBlobsetState; import udmi.schema.BlobsetState; import udmi.schema.Category; import udmi.schema.DevicePersistent; @@ -138,7 +138,8 @@ private void initModuleForOtaUpdates() { if (srcGit.exists()) { File srcDir = srcGit.getParentFile() != null ? srcGit.getParentFile() : new File("."); - info(format("Cloning repo from %s to %s", srcDir.getAbsolutePath(), repoDir.getAbsolutePath())); + info(format("Cloning repo from %s to %s", srcDir.getAbsolutePath(), + repoDir.getAbsolutePath())); runCommandInDir(srcDir, "git", "clone", ".", repoDir.getAbsolutePath()); info("Isolated repo initialized."); } else { @@ -179,7 +180,7 @@ private void handleOtaUpdate(String payload) { String commitHash = payload.trim(); info(format("Triggering Git OTA update to commit %s", commitHash)); - logEvent(Category.BLOBSET_BLOB_APPLY,"Applying Git OTA update to commit " + commitHash); + logEvent(Category.BLOBSET_BLOB_APPLY, "Applying Git OTA update to commit " + commitHash); File repoDir = new File(SOFTWARE_MODULE_DIR); if (!repoDir.exists()) { @@ -215,6 +216,7 @@ private void runCommandInDir(File dir, String... command) throws Exception { throw new RuntimeException(format("Command failed with exit code %d", exitCode)); } } + @Override public void initializePersistentStore() { checkState(persistentData == null, "Persistent data already loaded"); 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 b3f1cdc0b3..85bfefdc93 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -183,13 +183,6 @@ default void processBlobConfig() { } } - /** - * Checks if the application supports the given blob key. - */ - default boolean isSupportedBlob(String blobKey) { - return false; - } - /** * Processes the blob config for a given blob key and handles state transitions. */ @@ -221,7 +214,8 @@ default void processBlobConfig(String blobKey) { warn(format("Blob %s not ready for extraction", blobKey)); return; } - logEvent(Category.BLOBSET_BLOB_FETCH_SUCCESS, "Successfully fetched blob data for " + blobKey); + logEvent(Category.BLOBSET_BLOB_FETCH_SUCCESS, + "Successfully fetched blob data for " + blobKey); // Apply application-specific logic handleBlob(blobKey, payload); @@ -251,6 +245,13 @@ default void processBlobConfig(String blobKey) { } } + /** + * Checks if the application supports the given blob key. + */ + default boolean isSupportedBlob(String blobKey) { + return false; + } + /** * Handles application-specific blob processing. */ diff --git a/tests/schemas/events_system/categories.out b/tests/schemas/events_system/categories.out index 182878a8e6..a150f3830c 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 43) + /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 43) diff --git a/tests/schemas/events_system/errors.out b/tests/schemas/events_system/errors.out index 96ea55c516..52afc8b9dc 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 43) /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"]) From 810075fffa1a17dc3a7e0a6a7926107472acee91 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 7 Apr 2026 14:30:37 +0000 Subject: [PATCH 05/22] Sequencer tests for OTA blob updates --- .gencode_hash.txt | 16 +- etc/test_itemized.in | 1 + gencode/docs/configuration_pubber.html | 41 +++++ gencode/docs/metadata.html | 155 +++++++----------- gencode/java/udmi/schema/OtaTestingModel.java | 61 +------ gencode/java/udmi/schema/PubberOptions.java | 13 +- gencode/java/udmi/schema/TestingModel.java | 3 +- gencode/python/udmi/schema/model_testing.py | 4 +- .../python/udmi/schema/model_testing_ota.py | 11 -- gencode/python/udmi/schema/options_pubber.py | 1 + .../pubber/impl/host/PubberPublisherHost.java | 8 + schema/model_testing.json | 9 +- schema/model_testing_ota.json | 5 - schema/options_pubber.json | 4 + .../daq/mqtt/sequencer/SequenceBase.java | 2 + .../sequencer/sequences/BlobsetSequences.java | 96 +++++++++++ 16 files changed, 240 insertions(+), 190 deletions(-) diff --git a/.gencode_hash.txt b/.gencode_hash.txt index d289970198..868d318d61 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -5,7 +5,7 @@ c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/c 0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html 654866c5fd678c75cf821a9abb257dde6907542fc91e525a9170ad1f6297b525 gencode/docs/configuration_execution.html 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html -b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html +d6d9e8202750384de2cd0f7d9dbed3f31c1ef4101db3174ece6f0e97167106e1 gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html f41491a13c6268919608e144495a7dda5a767429125ac1624ccae91ee5158a50 gencode/docs/events.html 5bad31cd6d7850772636d7bdd0b9984abf57af37944227fa5ef7245551ec59dd gencode/docs/events_discovery.html @@ -14,7 +14,7 @@ eafcc3c48189f605f114cde051fea9d13fc5f1a3e395d64fb0a91cb53d4c9aeb gencode/docs/e 45996a14e9172e5178fb998d78df1903c73009149b30f06c89a8bf576cc82719 gencode/docs/events_system.html da80d985eb1999e8d73670ed80648fe1d5973f6d7670306705b5877f146178f0 gencode/docs/events_udmi.html f0804293697440d108456fa11d1d59da1efa76bb53fa26dea839157e457a696c gencode/docs/events_validation.html -9381542af90937225b9c2ee05777bce5120f3781e3d0614969e1f04d1ac750f9 gencode/docs/metadata.html +38c4d2a9a733ca37c7d2d91431bd045bfff013abd4ea990a3ecbe052dc46bfa1 gencode/docs/metadata.html 36d3b11c2e07721aa33b6095e4c92bd1547eef3d46b1d4c2ba201ed958401404 gencode/docs/monitoring.html 7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html @@ -100,7 +100,7 @@ a64167bfcec809442cff132bb59ae0600055731407858656cc7147c3a38bb7cc gencode/java/u e986aff1efca08188441a246392f8c524c2cdaae107e475657402872a9a01561 gencode/java/udmi/schema/Monitoring.java 25210c7f94b6369c43c68ed1fefba1ab3dedfe3201352055c536fd5225a4c590 gencode/java/udmi/schema/MonitoringMetric.java aa359e7906a73519482c4eefc717c49c8ef96d288a285cf126605a45201c22b2 gencode/java/udmi/schema/Operation.java -a7729616964aefae47072caf4ce5fd8d58fa192f5514e91cfab0985b4204c21f gencode/java/udmi/schema/OtaTestingModel.java +f4d5451840d9b9c5accc277f8c34646a83e9bb10624f13c2e9c05b60787980a0 gencode/java/udmi/schema/OtaTestingModel.java d48a48484965295327ef553a4f8552c44b9345224d7dbb847877c68c1e1b307e gencode/java/udmi/schema/Parameters.java 66ffb9033bcd715dd53e228986c40d2f9b314e01b32c25103b4dadc9bd0e97a5 gencode/java/udmi/schema/Parent.java 416ce4431c48d2b8d3165ba6de7b4665fd3fc2bcd03f01009bd4147f393fbc4c gencode/java/udmi/schema/Physical_tag.java @@ -118,7 +118,7 @@ c73ad6dde0db8a520f3fee5a563c55a79fc7e6d1cd7875723b10c3d34036a46b gencode/java/u 9637f95e8a1185b1b028308a8caa2ca5a78cb46ae97f9cc11e2731066129540e gencode/java/udmi/schema/Position.java d87deaba67bb3272c528e3491d378bde059b626964a4a2aed15f5643305c2463 gencode/java/udmi/schema/Properties.java 4cdd5dc6b2e054a43f2e70adeb46ef8e3ff78288d4315923a925415f87e871aa gencode/java/udmi/schema/PubberConfiguration.java -86b4de51f2ba6e9afe34a5a9069e34cf5aa14b7e08d7ac2ed688bad42a769205 gencode/java/udmi/schema/PubberOptions.java +2b07e8c3c67ae327753545703d2f7e0295318d37e35e004dc99d93e99b7602fe gencode/java/udmi/schema/PubberOptions.java cd2c7580a75391393c2f761f4434e4e7e83e2d2d1f35e9e62d69c19e65ea2557 gencode/java/udmi/schema/RefDiscovery.java 14faa115d13ee46d10935b13753bff85758f3b64b5136a59f60d36b5b541687c gencode/java/udmi/schema/SchemaValidationState.java fadf083200e73d46cfdec2f710d40e3d2bc4dbf05196e4d0900186e72b62d95e gencode/java/udmi/schema/Scoring.java @@ -139,7 +139,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 -da0e0ab6e2056060cd8c392b4534fa43bf9f82f370976175643dd8822735132e gencode/java/udmi/schema/TestingModel.java +6f22ab868b5b9f819e0084357ad8adde3b8c63f30cd73e42b9377297eefdbcb5 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 @@ -219,12 +219,12 @@ cc066d030bd658052bcd79437af41557e71dc30c9111b157e408b619912ddcc1 gencode/python f65ab38c968d1dc2ffb2d3eaf632f401e2b722ff0d6fe69abf20227f694c0d33 gencode/python/udmi/schema/model_policy.py 241c702f6a877f41c0ebd997c7e431ba8e6d6c0d1b21bc95a9fc57592ff094a7 gencode/python/udmi/schema/model_system.py 1db2fca012d3da953438b78acd2a5c15d94e46df8b77c459876e20ef2598dfbd gencode/python/udmi/schema/model_system_hardware.py -3fe150f9d2dee2315b8719d40468fd2a5f43e2e1c8ac4ab0c170bbaa80d1e36d gencode/python/udmi/schema/model_testing.py -42472e97ff4e29dc24a22cb78d15aaa664c8c0fa2c0261f7b30a47319ac3edbb gencode/python/udmi/schema/model_testing_ota.py +34895d4f23a87be6959a3f3d5110875d27cfa9dec8d87563600091946ce781d2 gencode/python/udmi/schema/model_testing.py +111f313a46ac3412c2ebee6cf5e5f09cc12630163ccf25bc5f95b0052e4243b6 gencode/python/udmi/schema/model_testing_ota.py 345ee1c07dc58c9a2daabf0820e15d881c4af271a8ea85044c45cd4dca3c0afa gencode/python/udmi/schema/model_testing_target.py f65537d0d2f8a255b9cbc52fd5d52558e3af4e58f6e2f28a43d4eaf4b99adc73 gencode/python/udmi/schema/monitoring.py 5e9531a0fec79fb0bcd637ac68d6b6f38119c054e9b18fe624f2ca283ac2e9bf gencode/python/udmi/schema/monitoring_metric.py -336a38ea7d8fbf81a8f4e7fa56a2365fe849e4a1f86981d62be4a4c44168b104 gencode/python/udmi/schema/options_pubber.py +843e74fec6b1314a7323553ea512628c89ca3e6e9a4ee692bd4695b526e23f19 gencode/python/udmi/schema/options_pubber.py ceebc2dc7cdb264730f64036312c42c9e16e8aaea5168ee3bf01bbe1f8c6950d gencode/python/udmi/schema/persistent_device.py 0fd2f78dfc89df3055d617b6f9f70c46c14b5dc307cc5b7705b09d9d782c33c2 gencode/python/udmi/schema/properties.py debb60af8af183f2382f6def95a7a3d051c8b34d68de094e76e7d8636532c3d2 gencode/python/udmi/schema/query_cloud.py diff --git a/etc/test_itemized.in b/etc/test_itemized.in index 2597a63506..c3571de7fd 100644 --- a/etc/test_itemized.in +++ b/etc/test_itemized.in @@ -27,6 +27,7 @@ TEST system_last_update extraField=fnooz TEST system_last_update dupeState TEST system_last_update badLevel TEST state_make_model badState +TEST ota_fetch_failure otaFailFetch # Test with various device metadata.json options WITH AHU-1 noState diff --git a/gencode/docs/configuration_pubber.html b/gencode/docs/configuration_pubber.html index b1ede1ae25..94ecfaa2c4 100644 --- a/gencode/docs/configuration_pubber.html +++ b/gencode/docs/configuration_pubber.html @@ -3301,6 +3301,47 @@

+

+ + + +
+
+
+

+ +

+
+ +
+
+ + Type: boolean
+

If true, the pubber will simulate a network failure during OTA fetch.

+
+ + + + + +
diff --git a/gencode/docs/metadata.html b/gencode/docs/metadata.html index 4aa7f26d42..67e2ad7a55 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -5733,17 +5733,32 @@

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" /> - ota_targets

Type: array
- + ota_targetsType: object
+ No Additional Properties - 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-z][a-z0-9]*(_[a-z0-9]+)*$ +

Ota Testing Model

Type: object
+ Ota Testing Model

Ota Testing Model

Type: object
No Additional Properties @@ -5776,18 +5791,18 @@

-
+
-
+

- +

-
+
Type: string
+ blob_key
Type: string

Blob key for the payload

@@ -5831,18 +5846,18 @@

-
+
-
+

- +

-
+
Type: string
+ url
Type: string

URL for OTA update

@@ -5886,18 +5901,18 @@

-
+
-
+

- +

-
+
Type: string
+ sha256
Type: string

SHA256 hash of the payload

@@ -5941,18 +5956,18 @@

-
+
-
+

- +

-
+
Type: string
+ version
Type: string

Expected software version

@@ -5996,66 +6011,10 @@

-
-
-
-

- -

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

Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch.

-
-

Must be one of:

-
  • "happy"
  • "bad_hash"
-
- - - - - -
-
-
diff --git a/gencode/java/udmi/schema/OtaTestingModel.java b/gencode/java/udmi/schema/OtaTestingModel.java index c2e10af158..afb9f942e5 100644 --- a/gencode/java/udmi/schema/OtaTestingModel.java +++ b/gencode/java/udmi/schema/OtaTestingModel.java @@ -1,14 +1,10 @@ package udmi.schema; -import java.util.HashMap; -import java.util.Map; -import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.annotation.JsonValue; /** @@ -22,8 +18,7 @@ "blob_key", "url", "sha256", - "version", - "test_type" + "version" }) public class OtaTestingModel { @@ -55,13 +50,6 @@ public class OtaTestingModel { @JsonProperty("version") @JsonPropertyDescription("Expected software version") public String version; - /** - * Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch. - * - */ - @JsonProperty("test_type") - @JsonPropertyDescription("Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch.") - public OtaTestingModel.Test_type test_type; @Override public int hashCode() { @@ -70,7 +58,6 @@ public int 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())); - result = ((result* 31)+((this.test_type == null)? 0 :this.test_type.hashCode())); return result; } @@ -83,51 +70,7 @@ public boolean equals(Object other) { return false; } OtaTestingModel rhs = ((OtaTestingModel) other); - return ((((((this.blob_key == rhs.blob_key)||((this.blob_key!= null)&&this.blob_key.equals(rhs.blob_key)))&&((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))))&&((this.test_type == rhs.test_type)||((this.test_type!= null)&&this.test_type.equals(rhs.test_type)))); - } - - - /** - * Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch. - * - */ - public enum Test_type { - - HAPPY("happy"), - BAD_HASH("bad_hash"); - private final String value; - private final static Map CONSTANTS = new HashMap(); - - static { - for (OtaTestingModel.Test_type c: values()) { - CONSTANTS.put(c.value, c); - } - } - - Test_type(String value) { - this.value = value; - } - - @Override - public String toString() { - return this.value; - } - - @JsonValue - public String value() { - return this.value; - } - - @JsonCreator - public static OtaTestingModel.Test_type fromValue(String value) { - OtaTestingModel.Test_type constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } - } - + return (((((this.blob_key == rhs.blob_key)||((this.blob_key!= null)&&this.blob_key.equals(rhs.blob_key)))&&((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/PubberOptions.java b/gencode/java/udmi/schema/PubberOptions.java index 4ea29397b9..79555ed0e7 100644 --- a/gencode/java/udmi/schema/PubberOptions.java +++ b/gencode/java/udmi/schema/PubberOptions.java @@ -54,7 +54,8 @@ "fixedLogLevel", "fastWrite", "delayWrite", - "softwareFirmwareValue" + "softwareFirmwareValue", + "otaFailFetch" }) public class PubberOptions { @@ -158,6 +159,13 @@ public class PubberOptions { public Boolean delayWrite; @JsonProperty("softwareFirmwareValue") public String softwareFirmwareValue; + /** + * If true, the pubber will simulate a network failure during OTA fetch. + * + */ + @JsonProperty("otaFailFetch") + @JsonPropertyDescription("If true, the pubber will simulate a network failure during OTA fetch.") + public Boolean otaFailFetch; @Override public int hashCode() { @@ -170,6 +178,7 @@ public int hashCode() { result = ((result* 31)+((this.messageTrace == null)? 0 :this.messageTrace.hashCode())); result = ((result* 31)+((this.softwareFirmwareValue == null)? 0 :this.softwareFirmwareValue.hashCode())); result = ((result* 31)+((this.noWriteback == null)? 0 :this.noWriteback.hashCode())); + result = ((result* 31)+((this.otaFailFetch == null)? 0 :this.otaFailFetch.hashCode())); result = ((result* 31)+((this.msTimestamp == null)? 0 :this.msTimestamp.hashCode())); result = ((result* 31)+((this.noLastStart == null)? 0 :this.noLastStart.hashCode())); result = ((result* 31)+((this.badLevel == null)? 0 :this.badLevel.hashCode())); @@ -214,7 +223,7 @@ public boolean equals(Object other) { return false; } PubberOptions rhs = ((PubberOptions) other); - return (((((((((((((((((((((((((((((((((((((((((this.skewClock == rhs.skewClock)||((this.skewClock!= null)&&this.skewClock.equals(rhs.skewClock)))&&((this.noPersist == rhs.noPersist)||((this.noPersist!= null)&&this.noPersist.equals(rhs.noPersist))))&&((this.noLastConfig == rhs.noLastConfig)||((this.noLastConfig!= null)&&this.noLastConfig.equals(rhs.noLastConfig))))&&((this.noLog == rhs.noLog)||((this.noLog!= null)&&this.noLog.equals(rhs.noLog))))&&((this.noHardware == rhs.noHardware)||((this.noHardware!= null)&&this.noHardware.equals(rhs.noHardware))))&&((this.messageTrace == rhs.messageTrace)||((this.messageTrace!= null)&&this.messageTrace.equals(rhs.messageTrace))))&&((this.softwareFirmwareValue == rhs.softwareFirmwareValue)||((this.softwareFirmwareValue!= null)&&this.softwareFirmwareValue.equals(rhs.softwareFirmwareValue))))&&((this.noWriteback == rhs.noWriteback)||((this.noWriteback!= null)&&this.noWriteback.equals(rhs.noWriteback))))&&((this.msTimestamp == rhs.msTimestamp)||((this.msTimestamp!= null)&&this.msTimestamp.equals(rhs.msTimestamp))))&&((this.noLastStart == rhs.noLastStart)||((this.noLastStart!= null)&&this.noLastStart.equals(rhs.noLastStart))))&&((this.badLevel == rhs.badLevel)||((this.badLevel!= null)&&this.badLevel.equals(rhs.badLevel))))&&((this.tweakState == rhs.tweakState)||((this.tweakState!= null)&&this.tweakState.equals(rhs.tweakState))))&&((this.spamState == rhs.spamState)||((this.spamState!= null)&&this.spamState.equals(rhs.spamState))))&&((this.noState == rhs.noState)||((this.noState!= null)&&this.noState.equals(rhs.noState))))&&((this.badState == rhs.badState)||((this.badState!= null)&&this.badState.equals(rhs.badState))))&&((this.baseState == rhs.baseState)||((this.baseState!= null)&&this.baseState.equals(rhs.baseState))))&&((this.noStatus == rhs.noStatus)||((this.noStatus!= null)&&this.noStatus.equals(rhs.noStatus))))&&((this.fastWrite == rhs.fastWrite)||((this.fastWrite!= null)&&this.fastWrite.equals(rhs.fastWrite))))&&((this.noFolder == rhs.noFolder)||((this.noFolder!= null)&&this.noFolder.equals(rhs.noFolder))))&&((this.noProxy == rhs.noProxy)||((this.noProxy!= null)&&this.noProxy.equals(rhs.noProxy))))&&((this.missingPoint == rhs.missingPoint)||((this.missingPoint!= null)&&this.missingPoint.equals(rhs.missingPoint))))&&((this.badCategory == rhs.badCategory)||((this.badCategory!= null)&&this.badCategory.equals(rhs.badCategory))))&&((this.extraPoint == rhs.extraPoint)||((this.extraPoint!= null)&&this.extraPoint.equals(rhs.extraPoint))))&&((this.badAddr == rhs.badAddr)||((this.badAddr!= null)&&this.badAddr.equals(rhs.badAddr))))&&((this.smokeCheck == rhs.smokeCheck)||((this.smokeCheck!= null)&&this.smokeCheck.equals(rhs.smokeCheck))))&&((this.redirectRegistry == rhs.redirectRegistry)||((this.redirectRegistry!= null)&&this.redirectRegistry.equals(rhs.redirectRegistry))))&&((this.noPointState == rhs.noPointState)||((this.noPointState!= null)&&this.noPointState.equals(rhs.noPointState))))&&((this.disableWriteback == rhs.disableWriteback)||((this.disableWriteback!= null)&&this.disableWriteback.equals(rhs.disableWriteback))))&&((this.barfConfig == rhs.barfConfig)||((this.barfConfig!= null)&&this.barfConfig.equals(rhs.barfConfig))))&&((this.extraField == rhs.extraField)||((this.extraField!= null)&&this.extraField.equals(rhs.extraField))))&&((this.emptyMissing == rhs.emptyMissing)||((this.emptyMissing!= null)&&this.emptyMissing.equals(rhs.emptyMissing))))&&((this.fixedSampleRate == rhs.fixedSampleRate)||((this.fixedSampleRate!= null)&&this.fixedSampleRate.equals(rhs.fixedSampleRate))))&&((this.dupeState == rhs.dupeState)||((this.dupeState!= null)&&this.dupeState.equals(rhs.dupeState))))&&((this.featureEnableSwap == rhs.featureEnableSwap)||((this.featureEnableSwap!= null)&&this.featureEnableSwap.equals(rhs.featureEnableSwap))))&&((this.delayWrite == rhs.delayWrite)||((this.delayWrite!= null)&&this.delayWrite.equals(rhs.delayWrite))))&&((this.extraDevice == rhs.extraDevice)||((this.extraDevice!= null)&&this.extraDevice.equals(rhs.extraDevice))))&&((this.noConfigAck == rhs.noConfigAck)||((this.noConfigAck!= null)&&this.noConfigAck.equals(rhs.noConfigAck))))&&((this.badVersion == rhs.badVersion)||((this.badVersion!= null)&&this.badVersion.equals(rhs.badVersion))))&&((this.fixedLogLevel == rhs.fixedLogLevel)||((this.fixedLogLevel!= null)&&this.fixedLogLevel.equals(rhs.fixedLogLevel))))&&((this.configStateDelay == rhs.configStateDelay)||((this.configStateDelay!= null)&&this.configStateDelay.equals(rhs.configStateDelay)))); + return ((((((((((((((((((((((((((((((((((((((((((this.skewClock == rhs.skewClock)||((this.skewClock!= null)&&this.skewClock.equals(rhs.skewClock)))&&((this.noPersist == rhs.noPersist)||((this.noPersist!= null)&&this.noPersist.equals(rhs.noPersist))))&&((this.noLastConfig == rhs.noLastConfig)||((this.noLastConfig!= null)&&this.noLastConfig.equals(rhs.noLastConfig))))&&((this.noLog == rhs.noLog)||((this.noLog!= null)&&this.noLog.equals(rhs.noLog))))&&((this.noHardware == rhs.noHardware)||((this.noHardware!= null)&&this.noHardware.equals(rhs.noHardware))))&&((this.messageTrace == rhs.messageTrace)||((this.messageTrace!= null)&&this.messageTrace.equals(rhs.messageTrace))))&&((this.softwareFirmwareValue == rhs.softwareFirmwareValue)||((this.softwareFirmwareValue!= null)&&this.softwareFirmwareValue.equals(rhs.softwareFirmwareValue))))&&((this.noWriteback == rhs.noWriteback)||((this.noWriteback!= null)&&this.noWriteback.equals(rhs.noWriteback))))&&((this.otaFailFetch == rhs.otaFailFetch)||((this.otaFailFetch!= null)&&this.otaFailFetch.equals(rhs.otaFailFetch))))&&((this.msTimestamp == rhs.msTimestamp)||((this.msTimestamp!= null)&&this.msTimestamp.equals(rhs.msTimestamp))))&&((this.noLastStart == rhs.noLastStart)||((this.noLastStart!= null)&&this.noLastStart.equals(rhs.noLastStart))))&&((this.badLevel == rhs.badLevel)||((this.badLevel!= null)&&this.badLevel.equals(rhs.badLevel))))&&((this.tweakState == rhs.tweakState)||((this.tweakState!= null)&&this.tweakState.equals(rhs.tweakState))))&&((this.spamState == rhs.spamState)||((this.spamState!= null)&&this.spamState.equals(rhs.spamState))))&&((this.noState == rhs.noState)||((this.noState!= null)&&this.noState.equals(rhs.noState))))&&((this.badState == rhs.badState)||((this.badState!= null)&&this.badState.equals(rhs.badState))))&&((this.baseState == rhs.baseState)||((this.baseState!= null)&&this.baseState.equals(rhs.baseState))))&&((this.noStatus == rhs.noStatus)||((this.noStatus!= null)&&this.noStatus.equals(rhs.noStatus))))&&((this.fastWrite == rhs.fastWrite)||((this.fastWrite!= null)&&this.fastWrite.equals(rhs.fastWrite))))&&((this.noFolder == rhs.noFolder)||((this.noFolder!= null)&&this.noFolder.equals(rhs.noFolder))))&&((this.noProxy == rhs.noProxy)||((this.noProxy!= null)&&this.noProxy.equals(rhs.noProxy))))&&((this.missingPoint == rhs.missingPoint)||((this.missingPoint!= null)&&this.missingPoint.equals(rhs.missingPoint))))&&((this.badCategory == rhs.badCategory)||((this.badCategory!= null)&&this.badCategory.equals(rhs.badCategory))))&&((this.extraPoint == rhs.extraPoint)||((this.extraPoint!= null)&&this.extraPoint.equals(rhs.extraPoint))))&&((this.badAddr == rhs.badAddr)||((this.badAddr!= null)&&this.badAddr.equals(rhs.badAddr))))&&((this.smokeCheck == rhs.smokeCheck)||((this.smokeCheck!= null)&&this.smokeCheck.equals(rhs.smokeCheck))))&&((this.redirectRegistry == rhs.redirectRegistry)||((this.redirectRegistry!= null)&&this.redirectRegistry.equals(rhs.redirectRegistry))))&&((this.noPointState == rhs.noPointState)||((this.noPointState!= null)&&this.noPointState.equals(rhs.noPointState))))&&((this.disableWriteback == rhs.disableWriteback)||((this.disableWriteback!= null)&&this.disableWriteback.equals(rhs.disableWriteback))))&&((this.barfConfig == rhs.barfConfig)||((this.barfConfig!= null)&&this.barfConfig.equals(rhs.barfConfig))))&&((this.extraField == rhs.extraField)||((this.extraField!= null)&&this.extraField.equals(rhs.extraField))))&&((this.emptyMissing == rhs.emptyMissing)||((this.emptyMissing!= null)&&this.emptyMissing.equals(rhs.emptyMissing))))&&((this.fixedSampleRate == rhs.fixedSampleRate)||((this.fixedSampleRate!= null)&&this.fixedSampleRate.equals(rhs.fixedSampleRate))))&&((this.dupeState == rhs.dupeState)||((this.dupeState!= null)&&this.dupeState.equals(rhs.dupeState))))&&((this.featureEnableSwap == rhs.featureEnableSwap)||((this.featureEnableSwap!= null)&&this.featureEnableSwap.equals(rhs.featureEnableSwap))))&&((this.delayWrite == rhs.delayWrite)||((this.delayWrite!= null)&&this.delayWrite.equals(rhs.delayWrite))))&&((this.extraDevice == rhs.extraDevice)||((this.extraDevice!= null)&&this.extraDevice.equals(rhs.extraDevice))))&&((this.noConfigAck == rhs.noConfigAck)||((this.noConfigAck!= null)&&this.noConfigAck.equals(rhs.noConfigAck))))&&((this.badVersion == rhs.badVersion)||((this.badVersion!= null)&&this.badVersion.equals(rhs.badVersion))))&&((this.fixedLogLevel == rhs.fixedLogLevel)||((this.fixedLogLevel!= null)&&this.fixedLogLevel.equals(rhs.fixedLogLevel))))&&((this.configStateDelay == rhs.configStateDelay)||((this.configStateDelay!= null)&&this.configStateDelay.equals(rhs.configStateDelay)))); } } diff --git a/gencode/java/udmi/schema/TestingModel.java b/gencode/java/udmi/schema/TestingModel.java index 45749fa478..3ae9b0919a 100644 --- a/gencode/java/udmi/schema/TestingModel.java +++ b/gencode/java/udmi/schema/TestingModel.java @@ -2,7 +2,6 @@ package udmi.schema; import java.util.HashMap; -import java.util.List; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -27,7 +26,7 @@ public class TestingModel { @JsonProperty("targets") public HashMap targets; @JsonProperty("ota_targets") - public List ota_targets; + public HashMap ota_targets; @Override public int hashCode() { diff --git a/gencode/python/udmi/schema/model_testing.py b/gencode/python/udmi/schema/model_testing.py index ee9c2eeb1a..d0d2b3e1e3 100644 --- a/gencode/python/udmi/schema/model_testing.py +++ b/gencode/python/udmi/schema/model_testing.py @@ -4,7 +4,7 @@ from __future__ import annotations from dataclasses import dataclass -from typing import Dict, List, Optional +from typing import Dict, Optional from ._base import DataModel from .model_testing_ota import OtaTestingModel @@ -19,4 +19,4 @@ class TestingModel(DataModel): nostate: Optional[bool] = None targets: Optional[Dict[str, TargetTestingModel]] = None - ota_targets: Optional[List[OtaTestingModel]] = None + ota_targets: Optional[Dict[str, OtaTestingModel]] = None diff --git a/gencode/python/udmi/schema/model_testing_ota.py b/gencode/python/udmi/schema/model_testing_ota.py index 8dedcd4aa9..6bc21bf848 100644 --- a/gencode/python/udmi/schema/model_testing_ota.py +++ b/gencode/python/udmi/schema/model_testing_ota.py @@ -4,25 +4,14 @@ from __future__ import annotations from dataclasses import dataclass -from enum import Enum from typing import Optional from ._base import DataModel -class TestType(Enum): - """ - Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch. - """ - - happy = 'happy' - bad_hash = 'bad_hash' - - @dataclass class OtaTestingModel(DataModel): blob_key: Optional[str] = None url: Optional[str] = None sha256: Optional[str] = None version: Optional[str] = None - test_type: Optional[TestType] = None diff --git a/gencode/python/udmi/schema/options_pubber.py b/gencode/python/udmi/schema/options_pubber.py index f8a26db8e9..81188204bd 100644 --- a/gencode/python/udmi/schema/options_pubber.py +++ b/gencode/python/udmi/schema/options_pubber.py @@ -55,3 +55,4 @@ class PubberOptions(DataModel): fastWrite: Optional[bool] = None delayWrite: Optional[bool] = None softwareFirmwareValue: Optional[str] = None + otaFailFetch: Optional[bool] = None 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 2dcd016b3d..42b7768a48 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -161,6 +161,14 @@ public boolean isSupportedBlob(String blobKey) { return getBlobHandler(blobKey) != null; } + @Override + public String extractConfigBlob(String blobKey) { + if (Boolean.TRUE.equals(getOptions().otaFailFetch)) { + throw new RuntimeException("Simulated network failure during fetch"); + } + return PublisherHost.super.extractConfigBlob(blobKey); + } + @Override public void handleBlob(String blobKey, String payload) { getBlobHandler(blobKey).accept(payload); diff --git a/schema/model_testing.json b/schema/model_testing.json index e92033f664..0441febcd0 100644 --- a/schema/model_testing.json +++ b/schema/model_testing.json @@ -19,9 +19,12 @@ } }, "ota_targets": { - "type": "array", - "items": { - "$ref": "file:model_testing_ota.json#" + "additionalProperties": false, + "existingJavaType": "java.util.HashMap", + "patternProperties": { + "^[a-z][a-z0-9]*(_[a-z0-9]+)*$": { + "$ref": "file:model_testing_ota.json#" + } } } } diff --git a/schema/model_testing_ota.json b/schema/model_testing_ota.json index 8d73962a5d..3437b7d960 100644 --- a/schema/model_testing_ota.json +++ b/schema/model_testing_ota.json @@ -20,11 +20,6 @@ "version": { "description": "Expected software version", "type": "string" - }, - "test_type": { - "description": "Type of test to run for this payload. 'happy' expects successful application and version update. 'bad_hash' expects error state due to hash mismatch.", - "type": "string", - "enum": ["happy", "bad_hash"] } } } diff --git a/schema/options_pubber.json b/schema/options_pubber.json index 064e21a964..6cd37f517d 100644 --- a/schema/options_pubber.json +++ b/schema/options_pubber.json @@ -127,6 +127,10 @@ }, "softwareFirmwareValue": { "type": "string" + }, + "otaFailFetch": { + "type": "boolean", + "description": "If true, pubber will simulate a network failure during OTA fetch." } } } 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 6d6954805b..853c8fcff6 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 @@ -2914,4 +2914,6 @@ private static String getTestName(@NotNull Description description) { ""); return description.getMethodName() + suffix; } + + } 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..7075c4f2d3 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,11 @@ 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_SUCCESS; +import static udmi.schema.Category.BLOBSET_BLOB_VERIFY_HASH; import static udmi.schema.FeatureDiscovery.FeatureStage.PREVIEW; import com.google.daq.mqtt.sequencer.Feature; @@ -41,6 +45,8 @@ import udmi.schema.BlobBlobsetState; import udmi.schema.BlobsetConfig; import udmi.schema.BlobsetConfig.SystemBlobsets; +import udmi.schema.Category; +import udmi.schema.OtaTestingModel; import udmi.schema.EndpointConfiguration; import udmi.schema.EndpointConfiguration.Protocol; import udmi.schema.EndpointConfiguration.Transport; @@ -387,4 +393,94 @@ private void check_system_restart() { untilTrue("last_start is newer than previous last_start", () -> deviceConfig.system.operation.last_start.after(last_start)); } + + private String generateSoftwareConfigDataUrl(String payload) { + return format(DATA_URL_FORMAT, JSON_MIME_TYPE, encodeBase64(payload)); + } + + private void setDeviceConfigSoftwareBlob(String blob_key, 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(blob_key, config); + deviceConfig.blobset = blobset; + } + + private void runHappyPathOta(OtaTestingModel otaConfig) { + String blobKey = otaConfig.blob_key; + String url = otaConfig.url; + String sha256 = otaConfig.sha256; + String version = otaConfig.version; + + info(format("Testing OTA update for blob key %s, version %s", blobKey, version)); + + setDeviceConfigSoftwareBlob(blobKey, url, sha256); + updateConfig("trigger ota update for " + blobKey); + + // Wait for phase: APPLY + untilTrue(blobKey + " phase is APPLY", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobKey); + return blobBlobsetState != null && BlobPhase.APPLY.equals(blobBlobsetState.phase); + }); + + // Wait for log message + waitForLog(BLOBSET_BLOB_APPLY, Level.NOTICE); + + // Wait for phase: FINAL and status null + untilTrue(blobKey + " phase is FINAL and status is null", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobKey); + return blobBlobsetState != null && BlobPhase.FINAL.equals(blobBlobsetState.phase) && blobBlobsetState.status == null; + }); + + // Validate system.software + checkThat(blobKey + " software version reflects update", () -> { + String softwareVersion = deviceState.system.software.get(blobKey); + return version.equals(softwareVersion); + }); + } + + private OtaTestingModel getOtaTarget(String targetType) { + ifTrueSkipTest(deviceMetadata.testing == null || deviceMetadata.testing.ota_targets == null, + "No OTA targets defined in metadata"); + OtaTestingModel target = deviceMetadata.testing.ota_targets.get(targetType); + ifNullSkipTest(target, "No OTA target defined for type '" + targetType + "'"); + return target; + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + public void ota_happy_path() { + OtaTestingModel target = getOtaTarget("happy"); + runHappyPathOta(target); + } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + public void ota_fetch_failure() { + OtaTestingModel target = getOtaTarget("fail_fetch"); + + setDeviceConfigSoftwareBlob(target.blob_key, target.url, target.sha256); + updateConfig("trigger ota update for " + target.blob_key); + + untilTrue(target.blob_key + " phase is APPLY", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(target.blob_key); + return blobBlobsetState != null && BlobPhase.APPLY.equals(blobBlobsetState.phase); + }); + + waitForLog(Category.BLOBSET_BLOB_FETCH_FAILURE, Level.ERROR); + + untilTrue(target.blob_key + " phase is FINAL and status is not null", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(target.blob_key); + return blobBlobsetState != null + && BlobPhase.FINAL.equals(blobBlobsetState.phase) + && blobBlobsetState.status != null + && blobBlobsetState.status.level >= Level.ERROR.value(); + }); + } + } From 8bf8bbd01c7def1baafbbcd5c8ef327bf770d128 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Wed, 8 Apr 2026 09:25:52 +0000 Subject: [PATCH 06/22] Add sequencer golden files --- bin/test_ota_updates | 10 +- docs/specs/sequences/generated.md | 23 + etc/sequencer.out | 4 +- gencode/docs/configuration_pubber.html | 2 +- gencode/java/udmi/schema/PubberOptions.java | 4 +- .../pubber/impl/host/PubberPublisherHost.java | 42 +- .../impl/manager/PubberSystemManager.java | 11 + .../udmi/lib/client/host/PublisherHost.java | 12 +- .../ota_fetch_failure/config_blobset.attr | 10 + .../ota_fetch_failure/config_blobset.json | 3 + .../ota_fetch_failure/config_discovery.attr | 10 + .../ota_fetch_failure/config_discovery.json | 3 + .../ota_fetch_failure/config_localnet.attr | 10 + .../ota_fetch_failure/config_localnet.json | 3 + .../ota_fetch_failure/config_pointset.attr | 10 + .../ota_fetch_failure/config_pointset.json | 3 + .../ota_fetch_failure/config_system.attr | 10 + .../ota_fetch_failure/config_system.json | 3 + .../ota_fetch_failure/config_update.attr | 10 + .../ota_fetch_failure/config_update.json | 55 + .../ota_fetch_failure/device_system.log | 299 +++ .../ota_fetch_failure/events_pointset.attr | 10 + .../ota_fetch_failure/events_pointset.json | 15 + .../ota_fetch_failure/events_system.attr | 10 + .../ota_fetch_failure/events_system.json | 79 + .../ota_fetch_failure/local_blobset.json | 10 + .../ota_fetch_failure/local_discovery.json | 6 + .../ota_fetch_failure/local_localnet.json | 8 + .../ota_fetch_failure/local_pointset.json | 17 + .../ota_fetch_failure/local_system.json | 10 + .../ota_fetch_failure/local_update.json | 45 + .../sequences/ota_fetch_failure/sequence.log | 2140 +++++++++++++++++ .../sequences/ota_fetch_failure/sequence.md | 10 + .../ota_fetch_failure/state_blobset.attr | 10 + .../ota_fetch_failure/state_blobset.json | 17 + .../ota_fetch_failure/state_discovery.attr | 10 + .../ota_fetch_failure/state_discovery.json | 5 + .../ota_fetch_failure/state_localnet.attr | 10 + .../ota_fetch_failure/state_localnet.json | 18 + .../ota_fetch_failure/state_pointset.attr | 10 + .../ota_fetch_failure/state_pointset.json | 16 + .../ota_fetch_failure/state_system.attr | 10 + .../ota_fetch_failure/state_system.json | 26 + .../ota_fetch_failure/state_update.attr | 10 + .../ota_fetch_failure/state_update.json | 76 + .../ota_fetch_failure/state_validation.attr | 10 + .../ota_fetch_failure/state_validation.json | 3 + .../ota_happy_path/config_blobset.attr | 10 + .../ota_happy_path/config_blobset.json | 3 + .../ota_happy_path/config_discovery.attr | 10 + .../ota_happy_path/config_discovery.json | 3 + .../ota_happy_path/config_localnet.attr | 10 + .../ota_happy_path/config_localnet.json | 3 + .../ota_happy_path/config_pointset.attr | 10 + .../ota_happy_path/config_pointset.json | 3 + .../ota_happy_path/config_system.attr | 10 + .../ota_happy_path/config_system.json | 3 + .../ota_happy_path/config_update.attr | 10 + .../ota_happy_path/config_update.json | 55 + .../ota_happy_path/device_system.log | 184 ++ .../ota_happy_path/events_pointset.attr | 10 + .../ota_happy_path/events_pointset.json | 15 + .../ota_happy_path/events_system.attr | 10 + .../ota_happy_path/events_system.json | 11 + .../ota_happy_path/local_blobset.json | 10 + .../ota_happy_path/local_discovery.json | 6 + .../ota_happy_path/local_localnet.json | 8 + .../ota_happy_path/local_pointset.json | 17 + .../ota_happy_path/local_system.json | 10 + .../ota_happy_path/local_update.json | 45 + .../sequences/ota_happy_path/sequence.log | 1498 ++++++++++++ .../sequences/ota_happy_path/sequence.md | 11 + .../ota_happy_path/state_blobset.attr | 10 + .../ota_happy_path/state_blobset.json | 10 + .../ota_happy_path/state_discovery.attr | 10 + .../ota_happy_path/state_discovery.json | 5 + .../ota_happy_path/state_localnet.attr | 10 + .../ota_happy_path/state_localnet.json | 18 + .../ota_happy_path/state_pointset.attr | 10 + .../ota_happy_path/state_pointset.json | 16 + .../ota_happy_path/state_system.attr | 10 + .../ota_happy_path/state_system.json | 26 + .../ota_happy_path/state_update.attr | 10 + .../ota_happy_path/state_update.json | 69 + .../ota_happy_path/state_validation.attr | 10 + .../ota_happy_path/state_validation.json | 3 + 86 files changed, 5284 insertions(+), 26 deletions(-) create mode 100644 validator/sequences/ota_fetch_failure/config_blobset.attr create mode 100644 validator/sequences/ota_fetch_failure/config_blobset.json create mode 100644 validator/sequences/ota_fetch_failure/config_discovery.attr create mode 100644 validator/sequences/ota_fetch_failure/config_discovery.json create mode 100644 validator/sequences/ota_fetch_failure/config_localnet.attr create mode 100644 validator/sequences/ota_fetch_failure/config_localnet.json create mode 100644 validator/sequences/ota_fetch_failure/config_pointset.attr create mode 100644 validator/sequences/ota_fetch_failure/config_pointset.json create mode 100644 validator/sequences/ota_fetch_failure/config_system.attr create mode 100644 validator/sequences/ota_fetch_failure/config_system.json create mode 100644 validator/sequences/ota_fetch_failure/config_update.attr create mode 100644 validator/sequences/ota_fetch_failure/config_update.json create mode 100644 validator/sequences/ota_fetch_failure/device_system.log create mode 100644 validator/sequences/ota_fetch_failure/events_pointset.attr create mode 100644 validator/sequences/ota_fetch_failure/events_pointset.json create mode 100644 validator/sequences/ota_fetch_failure/events_system.attr create mode 100644 validator/sequences/ota_fetch_failure/events_system.json create mode 100644 validator/sequences/ota_fetch_failure/local_blobset.json create mode 100644 validator/sequences/ota_fetch_failure/local_discovery.json create mode 100644 validator/sequences/ota_fetch_failure/local_localnet.json create mode 100644 validator/sequences/ota_fetch_failure/local_pointset.json create mode 100644 validator/sequences/ota_fetch_failure/local_system.json create mode 100644 validator/sequences/ota_fetch_failure/local_update.json create mode 100644 validator/sequences/ota_fetch_failure/sequence.log create mode 100644 validator/sequences/ota_fetch_failure/sequence.md create mode 100644 validator/sequences/ota_fetch_failure/state_blobset.attr create mode 100644 validator/sequences/ota_fetch_failure/state_blobset.json create mode 100644 validator/sequences/ota_fetch_failure/state_discovery.attr create mode 100644 validator/sequences/ota_fetch_failure/state_discovery.json create mode 100644 validator/sequences/ota_fetch_failure/state_localnet.attr create mode 100644 validator/sequences/ota_fetch_failure/state_localnet.json create mode 100644 validator/sequences/ota_fetch_failure/state_pointset.attr create mode 100644 validator/sequences/ota_fetch_failure/state_pointset.json create mode 100644 validator/sequences/ota_fetch_failure/state_system.attr create mode 100644 validator/sequences/ota_fetch_failure/state_system.json create mode 100644 validator/sequences/ota_fetch_failure/state_update.attr create mode 100644 validator/sequences/ota_fetch_failure/state_update.json create mode 100644 validator/sequences/ota_fetch_failure/state_validation.attr create mode 100644 validator/sequences/ota_fetch_failure/state_validation.json create mode 100644 validator/sequences/ota_happy_path/config_blobset.attr create mode 100644 validator/sequences/ota_happy_path/config_blobset.json create mode 100644 validator/sequences/ota_happy_path/config_discovery.attr create mode 100644 validator/sequences/ota_happy_path/config_discovery.json create mode 100644 validator/sequences/ota_happy_path/config_localnet.attr create mode 100644 validator/sequences/ota_happy_path/config_localnet.json create mode 100644 validator/sequences/ota_happy_path/config_pointset.attr create mode 100644 validator/sequences/ota_happy_path/config_pointset.json create mode 100644 validator/sequences/ota_happy_path/config_system.attr create mode 100644 validator/sequences/ota_happy_path/config_system.json create mode 100644 validator/sequences/ota_happy_path/config_update.attr create mode 100644 validator/sequences/ota_happy_path/config_update.json create mode 100644 validator/sequences/ota_happy_path/device_system.log create mode 100644 validator/sequences/ota_happy_path/events_pointset.attr create mode 100644 validator/sequences/ota_happy_path/events_pointset.json create mode 100644 validator/sequences/ota_happy_path/events_system.attr create mode 100644 validator/sequences/ota_happy_path/events_system.json create mode 100644 validator/sequences/ota_happy_path/local_blobset.json create mode 100644 validator/sequences/ota_happy_path/local_discovery.json create mode 100644 validator/sequences/ota_happy_path/local_localnet.json create mode 100644 validator/sequences/ota_happy_path/local_pointset.json create mode 100644 validator/sequences/ota_happy_path/local_system.json create mode 100644 validator/sequences/ota_happy_path/local_update.json create mode 100644 validator/sequences/ota_happy_path/sequence.log create mode 100644 validator/sequences/ota_happy_path/sequence.md create mode 100644 validator/sequences/ota_happy_path/state_blobset.attr create mode 100644 validator/sequences/ota_happy_path/state_blobset.json create mode 100644 validator/sequences/ota_happy_path/state_discovery.attr create mode 100644 validator/sequences/ota_happy_path/state_discovery.json create mode 100644 validator/sequences/ota_happy_path/state_localnet.attr create mode 100644 validator/sequences/ota_happy_path/state_localnet.json create mode 100644 validator/sequences/ota_happy_path/state_pointset.attr create mode 100644 validator/sequences/ota_happy_path/state_pointset.json create mode 100644 validator/sequences/ota_happy_path/state_system.attr create mode 100644 validator/sequences/ota_happy_path/state_system.json create mode 100644 validator/sequences/ota_happy_path/state_update.attr create mode 100644 validator/sequences/ota_happy_path/state_update.json create mode 100644 validator/sequences/ota_happy_path/state_validation.attr create mode 100644 validator/sequences/ota_happy_path/state_validation.json diff --git a/bin/test_ota_updates b/bin/test_ota_updates index 7852d3696e..70b82174db 100755 --- a/bin/test_ota_updates +++ b/bin/test_ota_updates @@ -24,8 +24,11 @@ site_path=sites/udmi_site_model device_id=AHU-1 serial_no=sequencer-$RANDOM -# Get an existing commit hash from the source repo -target_commit=$(git rev-parse HEAD~1) +# Use tag v2 for OTA +target_commit="v2" + +# create out directory if it doesn't exist +mkdir -p out/ # Clean up previous runs rm -f out/pubber.log.* @@ -97,6 +100,9 @@ else fail "OTA trigger NOT detected." fi +# Wait for update to complete and state to propagate +sleep 20 + if grep -q "Git OTA update completed successfully" $pubber_log; then log "OTA success detected." else diff --git a/docs/specs/sequences/generated.md b/docs/specs/sequences/generated.md index 45917faecc..4821b429d4 100644 --- a/docs/specs/sequences/generated.md +++ b/docs/specs/sequences/generated.md @@ -56,6 +56,8 @@ Some caveats: * [family_ipv6_addr](#family_ipv6_addr-preview): Test skipped: No ipv6 address defined in metadata * [gateway_proxy_events](#gateway_proxy_events-beta): Check that a gateway proxies pointset events for indicated devices Test skipped: Not a gateway * [gateway_proxy_state](#gateway_proxy_state-preview): Check that a gateway proxies state updates for indicated devices Test skipped: Not a gateway +* [ota_fetch_failure](#ota_fetch_failure-preview) +* [ota_happy_path](#ota_happy_path-preview) * [pointset_publish](#pointset_publish-stable): Check that a device publishes pointset events * [pointset_publish_interval](#pointset_publish_interval-stable): Check handling of sample_rate_sec and sample_limit_sec * [pointset_remove_point](#pointset_remove_point-stable): Check that pointset state does not report an unconfigured point @@ -445,6 +447,27 @@ Check that a gateway proxies state updates for indicated devices Test skipped: Not a gateway +## ota_fetch_failure (PREVIEW) + +1. Update config trigger ota 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 is APPLY +1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` +1. Wait for pubber_module phase is FINAL and status is not null + +Test passed. + +## ota_happy_path (PREVIEW) + +1. Update config trigger ota 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 is APPLY +1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +1. Wait for pubber_module phase is FINAL and status is null +1. Check that pubber_module software version reflects update + +Test passed. + ## pointset_publish (STABLE) Check that a device publishes pointset events diff --git a/etc/sequencer.out b/etc/sequencer.out index 69bb49397d..7f8c69a3d8 100644 --- a/etc/sequencer.out +++ b/etc/sequencer.out @@ -42,7 +42,6 @@ RESULT pass system extra_config STABLE 10/10 Sequence complete 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 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 @@ -50,6 +49,9 @@ CPBLTY pass system system_last_update.subblocks ALPHA 1/1 Capability supported RESULT pass system system_min_loglevel ALPHA 10/10 Sequence complete RESULT pass system too_much_state ALPHA 10/10 Sequence complete RESULT pass system valid_serial_no STABLE 10/10 Sequence complete +RESULT pass system.mode system_mode_restart PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates ota_fetch_failure PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates ota_happy_path PREVIEW 10/10 Sequence complete RESULT pass writeback writeback_failure ALPHA 10/10 Sequence complete RESULT pass writeback writeback_invalid ALPHA 10/10 Sequence complete RESULT pass writeback writeback_operation ALPHA 10/10 Sequence complete diff --git a/gencode/docs/configuration_pubber.html b/gencode/docs/configuration_pubber.html index 94ecfaa2c4..218ba0a8bc 100644 --- a/gencode/docs/configuration_pubber.html +++ b/gencode/docs/configuration_pubber.html @@ -3334,7 +3334,7 @@

/> otaFailFetch

Type: boolean
-

If true, the pubber will simulate a network failure during OTA fetch.

+

If true, pubber will simulate a network failure during OTA fetch.

diff --git a/gencode/java/udmi/schema/PubberOptions.java b/gencode/java/udmi/schema/PubberOptions.java index 79555ed0e7..aa2ba10e11 100644 --- a/gencode/java/udmi/schema/PubberOptions.java +++ b/gencode/java/udmi/schema/PubberOptions.java @@ -160,11 +160,11 @@ public class PubberOptions { @JsonProperty("softwareFirmwareValue") public String softwareFirmwareValue; /** - * If true, the pubber will simulate a network failure during OTA fetch. + * If true, pubber will simulate a network failure during OTA fetch. * */ @JsonProperty("otaFailFetch") - @JsonPropertyDescription("If true, the pubber will simulate a network failure during OTA fetch.") + @JsonPropertyDescription("If true, pubber will simulate a network failure during OTA fetch.") public Boolean otaFailFetch; @Override 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 42b7768a48..f810718316 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -125,26 +125,31 @@ public void initializeDevice() { private void initModuleForOtaUpdates() { try { - File repoDir = new File(SOFTWARE_MODULE_DIR); - if (repoDir.exists()) { - FileUtils.deleteDirectory(repoDir); + File srcDir = new File(SOFTWARE_MODULE_DIR); + if (srcDir.exists()) { + FileUtils.deleteDirectory(srcDir); } - // Fallback logic to find the source .git directory depending on where tests are run - File srcGit = new File(".git"); - if (!srcGit.exists()) { - srcGit = new File("../.git"); + if (!srcDir.mkdirs()) { + throw new RuntimeException("Failed to create source directory"); } - if (srcGit.exists()) { - File srcDir = srcGit.getParentFile() != null ? srcGit.getParentFile() : new File("."); - info(format("Cloning repo from %s to %s", srcDir.getAbsolutePath(), - repoDir.getAbsolutePath())); - runCommandInDir(srcDir, "git", "clone", ".", repoDir.getAbsolutePath()); - info("Isolated repo initialized."); - } else { - warn("Source .git directory not found, cannot initialize isolated repo."); - } + info(format("Initializing dummy module in %s", srcDir.getAbsolutePath())); + runCommandInDir(srcDir, "git", "init"); + runCommandInDir(srcDir, "git", "config", "user.name", "Pubber"); + runCommandInDir(srcDir, "git", "config", "user.email", "pubber@udmi.io"); + + File versionFile = new File(srcDir, "version.txt"); + FileUtils.writeStringToFile(versionFile, "v1", "UTF-8"); + runCommandInDir(srcDir, "git", "add", "."); + runCommandInDir(srcDir, "git", "commit", "-m", "v1"); + runCommandInDir(srcDir, "git", "tag", "v1"); + + FileUtils.writeStringToFile(versionFile, "v2", "UTF-8"); + runCommandInDir(srcDir, "git", "add", "."); + runCommandInDir(srcDir, "git", "commit", "-m", "v2"); + runCommandInDir(srcDir, "git", "tag", "v2"); + info("Isolated repo initialized."); } catch (Exception e) { error("While initializing isolated repo", e); } @@ -164,6 +169,7 @@ public boolean isSupportedBlob(String blobKey) { @Override public String extractConfigBlob(String blobKey) { if (Boolean.TRUE.equals(getOptions().otaFailFetch)) { + safeSleep(60000); // Give test time to see APPLY phase throw new RuntimeException("Simulated network failure during fetch"); } return PublisherHost.super.extractConfigBlob(blobKey); @@ -184,7 +190,7 @@ public void postHandleBlob(String blobKey) { private void handleOtaUpdate(String payload) { // Note: The payload is assumed to be the commit hash directly. - // In a real UDMI scenario, this would be the content of a downloaded file. + // In a real scenario, this would be the content of a downloaded file. String commitHash = payload.trim(); info(format("Triggering Git OTA update to commit %s", commitHash)); @@ -196,6 +202,8 @@ private void handleOtaUpdate(String payload) { } try { + info("Simulating OTA update delay..."); + safeSleep(20000); runCommandInDir(repoDir, "git", "fetch"); runCommandInDir(repoDir, "git", "checkout", commitHash); notice("Git OTA update completed successfully."); diff --git a/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java b/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java index 125d2fe91e..973724edc6 100644 --- a/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java +++ b/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java @@ -108,6 +108,17 @@ private String getGitCommitHash() { if (!repoDir.exists()) { return "unknown"; } + + File versionFile = new File(repoDir, "version.txt"); + if (versionFile.exists()) { + try (BufferedReader reader = new BufferedReader(new java.io.FileReader(versionFile))) { + String line = reader.readLine(); + if (line != null) { + return line.trim(); + } + } + } + ProcessBuilder pb = new ProcessBuilder("git", "rev-parse", "HEAD"); pb.directory(repoDir); Process p = pb.start(); 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 85bfefdc93..ab653551c6 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -898,9 +898,15 @@ default void publishLogMessage(Entry logEntry, String targetId) { * Logs an event with a specific category and level. */ default void logEvent(String category, String message, Throwable e) { - Entry entry = entryFromException(category, e); - if (message != null) { - entry.message = message + entry.message; + Entry entry; + if (e != null) { + entry = entryFromException(category, e); + } else { + entry = new Entry(); + entry.category = Category.BLOBSET_BLOB_APPLY; + entry.timestamp = new Date(); + entry.message = message; + entry.level = Category.LEVEL.getOrDefault(category, Level.INFO).value(); } publishLogMessage(entry, getDeviceId()); } diff --git a/validator/sequences/ota_fetch_failure/config_blobset.attr b/validator/sequences/ota_fetch_failure/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/config_blobset.json b/validator/sequences/ota_fetch_failure/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_discovery.attr b/validator/sequences/ota_fetch_failure/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/config_discovery.json b/validator/sequences/ota_fetch_failure/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_localnet.attr b/validator/sequences/ota_fetch_failure/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/config_localnet.json b/validator/sequences/ota_fetch_failure/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_pointset.attr b/validator/sequences/ota_fetch_failure/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/config_pointset.json b/validator/sequences/ota_fetch_failure/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_system.attr b/validator/sequences/ota_fetch_failure/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/config_system.json b/validator/sequences/ota_fetch_failure/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_update.attr b/validator/sequences/ota_fetch_failure/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/config_update.json b/validator/sequences/ota_fetch_failure/config_update.json new file mode 100644 index 0000000000..ea4f9bbf61 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-810075ff-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "ota_fetch_failure" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###https://invalid.url/missing.bin", + "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/ota_fetch_failure/device_system.log b/validator/sequences/ota_fetch_failure/device_system.log new file mode 100644 index 0000000000..f23cb60589 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/device_system.log @@ -0,0 +1,299 @@ +TIMESTAMP DEBUG device.log Git: Note: switching to 'v2'. +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: You are in 'detached HEAD' state. You can look around, make experimental +TIMESTAMP DEBUG device.log Git: changes and commit them, and you can discard any commits you make in this +TIMESTAMP DEBUG device.log Git: state without impacting any branches by switching back to a branch. +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: If you want to create a new branch to retain commits you create, you may +TIMESTAMP DEBUG device.log Git: do so (now or later) by using -c with the switch command. Example: +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: git switch -c +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: Or undo this operation with: +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: git switch - +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: Turn off this advice by setting config variable advice.detachedHead to false +TIMESTAMP DEBUG device.log Git: +TIMESTAMP DEBUG device.log Git: HEAD is now at a55c275 v2 +TIMESTAMP NOTICE device.log Git OTA update completed successfully. +TIMESTAMP NOTICE device.log Blob pubber_module successfully applied +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP for blob key 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 NOTICE device.log Post-processing Git OTA update. Restarting... +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1998ms +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 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-2876, mac null, gateway null, options +TIMESTAMP INFO device.log Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo +TIMESTAMP INFO device.log Isolated repo initialized. +TIMESTAMP WARNING device.log Starting connection 1775639691183 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 INFO device.log Connection complete. +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 DEBUG device.log Restoring unknown point filter_alarm_pressure_status +TIMESTAMP WARNING device.log Ending connection 1775639691183 with 1 +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 NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer -1775639690098ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +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 (ota_happy_path) +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 1865ms +TIMESTAMP DEBUG device.log State update defer 1864ms +TIMESTAMP DEBUG device.log State update defer 1863ms +TIMESTAMP DEBUG device.log State update defer 1863ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 27ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 26ms +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 23ms +TIMESTAMP DEBUG device.log State update defer 22ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1873ms +TIMESTAMP DEBUG device.log State update defer 1872ms +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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 1870ms +TIMESTAMP DEBUG device.log State update defer 1869ms +TIMESTAMP DEBUG device.log State update defer 1081ms +TIMESTAMP INFO device.log sending AHU-1 message #0 with 3 points +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 943ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 942ms +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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 937ms +TIMESTAMP DEBUG device.log State update defer 936ms +TIMESTAMP DEBUG device.log State update defer 936ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +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 device.log State update defer -1101ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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 1998ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1313ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +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 DEBUG device.log State update defer 1995ms +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 1748ms +TIMESTAMP DEBUG device.log State update defer 1747ms +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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 1743ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 860ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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 857ms +TIMESTAMP DEBUG device.log State update defer 856ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 639ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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 device.log State update defer 636ms +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 635ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1481ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) +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.apply Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1476ms +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG blobset.blob.apply Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.apply Successfully fetched blob data for pubber_module +TIMESTAMP INFO device.log Triggering Git OTA update to commit { + "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" +} +TIMESTAMP NOTICE blobset.blob.apply Applying Git OTA update to commit { + "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" +} +TIMESTAMP INFO device.log Simulating OTA update delay... +TIMESTAMP DEBUG device.log Git: error: pathspec '{ +TIMESTAMP DEBUG device.log Git: "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" +TIMESTAMP DEBUG device.log Git: }' did not match any file(s) known to git +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Git operation failed +TIMESTAMP ERROR blobset.blob.fetch.failure Git operation failed +TIMESTAMP DEBUG device.log State update defer -18029ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 2000ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/ota_fetch_failure/events_pointset.attr b/validator/sequences/ota_fetch_failure/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/events_pointset.json b/validator/sequences/ota_fetch_failure/events_pointset.json new file mode 100644 index 0000000000..d286b459f2 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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" : 10 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/events_system.attr b/validator/sequences/ota_fetch_failure/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/events_system.json b/validator/sequences/ota_fetch_failure/events_system.json new file mode 100644 index 0000000000..8e1f1e46cf --- /dev/null +++ b/validator/sequences/ota_fetch_failure/events_system.json @@ -0,0 +1,79 @@ +{ + "event_no" : 6, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "Git: error: pathspec '{", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Git: \"error\" : \"java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin\"", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Git: }' did not match any file(s) known to git", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: Git operation failed", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "Git operation failed", + "detail" : "java.lang.RuntimeException: Git operation failed;java.lang.RuntimeException: Command failed with exit code 1;", + "category" : "blobset.blob.fetch.failure", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer -18029ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (ota_fetch_failure)", + "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 2000ms", + "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 (ota_fetch_failure)", + "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" : 160.0, + "mem_free_mb" : 130.81141662597656 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_blobset.json b/validator/sequences/ota_fetch_failure/local_blobset.json new file mode 100644 index 0000000000..6b9a324a8e --- /dev/null +++ b/validator/sequences/ota_fetch_failure/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###https://invalid.url/missing.bin", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_discovery.json b/validator/sequences/ota_fetch_failure/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/ota_fetch_failure/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_localnet.json b/validator/sequences/ota_fetch_failure/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_pointset.json b/validator/sequences/ota_fetch_failure/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/local_system.json b/validator/sequences/ota_fetch_failure/local_system.json new file mode 100644 index 0000000000..9baa13bae5 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "ota_fetch_failure" + } +} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_update.json b/validator/sequences/ota_fetch_failure/local_update.json new file mode 100644 index 0000000000..8a47077ef1 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-810075ff-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "ota_fetch_failure" + } + }, + "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/ota_fetch_failure/sequence.log b/validator/sequences/ota_fetch_failure/sequence.log new file mode 100644 index 0000000000..9df70e3f49 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/sequence.log @@ -0,0 +1,2140 @@ +TIMESTAMP NOTICE Starting test ota_fetch_failure ################################ +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:81) +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:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6020ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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/system as MP:638f54ef-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-2876", +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" : "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:638f54ef-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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:638f54ef-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:638f54ef-1 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:638f54ef-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:638f54ef-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:638f54ef-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:638f54ef-3 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:638f54ef-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:638f54ef-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:6b34b76c +TIMESTAMP DEBUG device.log: Git: Note: switching to 'v2'. +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: You are in 'detached HEAD' state. You can look around, make experimental +TIMESTAMP DEBUG device.log: Git: changes and commit them, and you can discard any commits you make in this +TIMESTAMP DEBUG device.log: Git: state without impacting any branches by switching back to a branch. +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: If you want to create a new branch to retain commits you create, you may +TIMESTAMP DEBUG device.log: Git: do so (now or later) by using -c with the switch command. Example: +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: git switch -c +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: Or undo this operation with: +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: git switch - +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: Turn off this advice by setting config variable advice.detachedHead to false +TIMESTAMP DEBUG device.log: Git: +TIMESTAMP DEBUG device.log: Git: HEAD is now at a55c275 v2 +TIMESTAMP NOTICE device.log: Git OTA update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully applied +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP for blob key 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 NOTICE device.log: Post-processing Git OTA update. Restarting... +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1998ms +TIMESTAMP DEBUG Handling device message events_system MP:6b34b76c +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:1b39fc.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:1b39fc.0000000e +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:1b39fc.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:1b39fc.0000000f +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:71ea5149 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:71ea5149 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:71ea5149 +TIMESTAMP INFO Updated state #012: Changed 2 fields: +TIMESTAMP INFO Updated state #012: Set `system.operation.mode` = `restart` +TIMESTAMP` +TIMESTAMP NOTICE Received serial number sequencer-2876 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:71ea5149-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-2876", +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" : "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:71ea5149-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:71ea5149-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:71ea5149-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:71ea5149-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:71ea5149-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:71ea5149-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:71ea5149-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:71ea5149-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:71ea5149-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:43b3d895 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:43b3d895 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:43b3d895 +TIMESTAMP INFO Updated state #013: Changed 10 fields: +TIMESTAMP INFO Updated state #013: Set `system.operation.mode` = `initial` +TIMESTAMP INFO Updated state #013: Set `system.operation.restart_count` = `2` +TIMESTAMP` +TIMESTAMP INFO Updated state #013: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #013: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP INFO Updated state #013: Add `pointset.points.filter_alarm_pressure_status.value_state` = `updating` +TIMESTAMP INFO Updated state #013: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `updating` +TIMESTAMP INFO Updated state #013: Add `pointset.points.filter_differential_pressure_sensor.value_state` = `updating` +TIMESTAMP` +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:43b3d895-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-2876", +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" : "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:43b3d895-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:43b3d895-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:43b3d895-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:43b3d895-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:43b3d895-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:43b3d895-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:43b3d895-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:43b3d895-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:43b3d895-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:43b3d895 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:43b3d895 +TIMESTAMP +TIMESTAMP MP:43b3d895 +TIMESTAMP INFO Updated config #010: Changed 2 fields: +TIMESTAMP INFO Updated config #010: Set `system.testing.sequence_name` = `ota_fetch_failure` +TIMESTAMP INFO Updated config #010: Remove `blobset` +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f248e046 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f248e046 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f248e046 +TIMESTAMP INFO Updated state #014: Changed 4 fields: +TIMESTAMP INFO Updated state #014: Remove `pointset.points.filter_alarm_pressure_status.value_state` +TIMESTAMP INFO Updated state #014: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `applied` +TIMESTAMP INFO Updated state #014: 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:f248e046-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-2876", +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" : "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:f248e046-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f248e046-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:f248e046-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f248e046-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:f248e046-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:f248e046-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:f248e046-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f248e046-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:f248e046-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000010 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000010 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000010 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000010 +TIMESTAMP INFO Updated config #011: Changed 0 fields. +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:1b39fc.00000010 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000010 +TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000010 +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:9569d95f +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:9569d95f +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:9569d95f +TIMESTAMP INFO Updated state #015: Changed 3 fields: +TIMESTAMP` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:9569d95f-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-2876", +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" : "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:9569d95f-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:9569d95f-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:9569d95f-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:9569d95f-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:9569d95f-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:9569d95f-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:9569d95f-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:9569d95f-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:9569d95f-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:9569d95f +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:9569d95f +TIMESTAMP +TIMESTAMP MP:9569d95f +TIMESTAMP INFO Updated config #012: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:3d4ba8c7 +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" : 10 +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:3d4ba8c7 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @9s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @9s +TIMESTAMP DEBUG Config sync took 1s +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 @9s +TIMESTAMP INFO Stage start waiting for config update synchronized at @9s +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:bec052b2 +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: 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-2876, mac null, gateway null, options +TIMESTAMP INFO device.log: Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo +TIMESTAMP INFO device.log: Isolated repo initialized. +TIMESTAMP WARNING device.log: Starting connection 1775639691183 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 INFO device.log: Connection complete. +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 DEBUG device.log: Restoring unknown point filter_alarm_pressure_status +TIMESTAMP WARNING device.log: Ending connection 1775639691183 with 1 +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 NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer -1775639690098ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +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 (ota_happy_path) +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 1865ms +TIMESTAMP DEBUG device.log: State update defer 1864ms +TIMESTAMP DEBUG device.log: State update defer 1863ms +TIMESTAMP DEBUG device.log: State update defer 1863ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 27ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 26ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 23ms +TIMESTAMP DEBUG device.log: State update defer 22ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1873ms +TIMESTAMP DEBUG device.log: State update defer 1872ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 1870ms +TIMESTAMP DEBUG device.log: State update defer 1869ms +TIMESTAMP DEBUG device.log: State update defer 1081ms +TIMESTAMP DEBUG Handling device message events_system MP:bec052b2 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 1s +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 981ms +TIMESTAMP DEBUG Rate-limiting config by 981ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.00000011 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @11s +TIMESTAMP INFO Stage start waiting for config update synchronized at @11s +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:963e9a1f +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:963e9a1f +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:963e9a1f +TIMESTAMP INFO Updated state #016: Changed 1 fields: +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:963e9a1f-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-2876", +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" : "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:963e9a1f-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:963e9a1f-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:963e9a1f-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:963e9a1f-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:963e9a1f-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:963e9a1f-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:963e9a1f-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:963e9a1f-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:963e9a1f-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000011 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000011 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000011 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000011 +TIMESTAMP INFO Updated config #013: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:1b39fc.00000011 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000011 +TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000011 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:e51123c2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:e51123c2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:e51123c2 +TIMESTAMP INFO Updated state #017: Changed 3 fields: +TIMESTAMP` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @13s after 2s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @13s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:1b39fc.00000013 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @13s +TIMESTAMP INFO Stage start waiting for state query at @13s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:e51123c2-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-2876", +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" : "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:e51123c2-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:e51123c2-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:e51123c2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:e51123c2-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:e51123c2-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:e51123c2-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:e51123c2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:e51123c2-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:e51123c2-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:1b39fc.00000013 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:1b39fc.00000013 +TIMESTAMP DEBUG Removed stateTransaction RC:1b39fc.00000013 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:1b39fc.00000013 +TIMESTAMP INFO Updated state #018: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @14s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @14s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @14s +TIMESTAMP INFO Stage start waiting for initial device state at @14s +TIMESTAMP is 977ms +TIMESTAMP DEBUG Rate-limiting config by 977ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.00000014 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @15s +TIMESTAMP INFO Stage start waiting for config update synchronized at @15s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:1b39fc.00000013 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e22043ae +TIMESTAMP INFO device.log: sending AHU-1 message #0 with 3 points +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 943ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 942ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 937ms +TIMESTAMP DEBUG device.log: State update defer 936ms +TIMESTAMP DEBUG device.log: State update defer 936ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG Handling device message events_system MP:e22043ae +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:78f5b3bf +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:78f5b3bf +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:78f5b3bf +TIMESTAMP INFO Updated state #019: Changed 4 fields: +TIMESTAMP INFO Updated state #019: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #019: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000014 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000014 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000014 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000014 +TIMESTAMP INFO Updated config #014: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:1b39fc.00000014 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000014 +TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000014 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:78f5b3bf-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-2876", +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" : "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:78f5b3bf-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:78f5b3bf-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:78f5b3bf-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:78f5b3bf-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:78f5b3bf-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:78f5b3bf-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:78f5b3bf-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:78f5b3bf-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:78f5b3bf-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:41ba25a1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:41ba25a1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:41ba25a1 +TIMESTAMP INFO Updated state #020: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #020: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #020: 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 @18s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @18s +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 @18s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @18s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @18s +TIMESTAMP INFO Stage start waiting for config update synchronized at @18s +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:41ba25a1-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-2876", +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" : "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:41ba25a1-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:41ba25a1-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:41ba25a1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @18s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @18s +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 @18s +TIMESTAMP INFO Stage start waiting for executing test at @18s +TIMESTAMP DEBUG stage begin waiting for executing test at @18s +TIMESTAMP DEBUG Allowing device state change blobset +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:1b39fc.00000015 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:1b39fc.00000016 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:1b39fc.00000017 +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:1b39fc.00000018 +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:1b39fc.00000019 +TIMESTAMP +TIMESTAMP, because trigger ota update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @20s +TIMESTAMP INFO Stage start waiting for config update synchronized at @20s +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:41ba25a1-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:41ba25a1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:41ba25a1-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:41ba25a1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:41ba25a1-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:41ba25a1-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000015 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000015 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000015 +TIMESTAMP +TIMESTAMP RC:1b39fc.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 Received command AHU-1/state/update as MP:1c5ebea2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:1c5ebea2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:1c5ebea2 +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 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:1b39fc.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:1b39fc.00000015 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000015 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:1c5ebea2-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-2876", +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" : "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:1c5ebea2-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:1c5ebea2-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:1c5ebea2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:1c5ebea2-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:1c5ebea2-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:1c5ebea2-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:1c5ebea2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:1c5ebea2-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:1c5ebea2-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000019 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000019 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000019 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000019 +TIMESTAMP INFO Updated config #016: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:1b39fc.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:1b39fc.00000019 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000019 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000017 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000017 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000017 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000017 +TIMESTAMP INFO Updated config #017: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:1b39fc.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:1b39fc.00000017 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000017 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000016 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000016 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000016 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000016 +TIMESTAMP INFO Updated config #018: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:1b39fc.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:1b39fc.00000016 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000016 +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:30ca1f07 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:30ca1f07 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:30ca1f07 +TIMESTAMP INFO Updated state #022: Changed 5 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) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:30ca1f07-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-2876", +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" : "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:30ca1f07-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:30ca1f07-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:30ca1f07-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:30ca1f07-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:30ca1f07-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:30ca1f07-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:30ca1f07-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:30ca1f07-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:30ca1f07-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000018 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000018 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000018 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000018 +TIMESTAMP INFO Updated config #019: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:1b39fc.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:1b39fc.00000018 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000018 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:7590d574 +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 device.log: State update defer -1101ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 1998ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1313ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +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 DEBUG device.log: State update defer 1995ms +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 1748ms +TIMESTAMP DEBUG device.log: State update defer 1747ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 1743ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 860ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 857ms +TIMESTAMP DEBUG device.log: State update defer 856ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 639ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 device.log: State update defer 636ms +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 635ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1481ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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.apply: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1476ms +TIMESTAMP DEBUG Handling device message events_system MP:7590d574 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:1922d9c1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:1922d9c1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:1922d9c1 +TIMESTAMP INFO Updated state #023: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #023: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #023: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP INFO Updated state #023: Set `blobset.blobs.pubber_module.phase` = `apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @25s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @25s +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 ota 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 ota 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 @25s +TIMESTAMP INFO Stage start waiting for pubber_module phase is APPLY at @25s +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 APPLY +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is APPLY at @27s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @27s +TIMESTAMP TRACE Stage suspend waiting for executing test at @27s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.fetch.failure` 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 +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 device.log: State update defer -1101ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) +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 1998ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:1922d9c1-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-2876", +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" : "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:1922d9c1-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:1922d9c1-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:1922d9c1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:1922d9c1-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:1922d9c1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:1922d9c1-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:1922d9c1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:1922d9c1-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:1922d9c1-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:04b4536c +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG blobset.blob.apply: Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.apply: Successfully fetched blob data for pubber_module +TIMESTAMP INFO device.log: Triggering Git OTA update to commit { + "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" +} +TIMESTAMP NOTICE blobset.blob.apply: Applying Git OTA update to commit { + "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" +} +TIMESTAMP INFO device.log: Simulating OTA update delay... +TIMESTAMP DEBUG Handling device message events_system MP:04b4536c +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:672de72d +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:672de72d +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a4aec2c4 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a4aec2c4 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a4aec2c4 +TIMESTAMP INFO Updated state #024: Changed 3 fields: +TIMESTAMP INFO Updated state #024: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP INFO Updated state #024: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `java.lang.RuntimeException: Git operation failed... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a4aec2c4-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-2876", +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" : "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:a4aec2c4-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a4aec2c4-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:a4aec2c4-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a4aec2c4-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:a4aec2c4-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:a4aec2c4-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" : "Git operation failed", +TIMESTAMP TRACE Received state_blobset: "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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:a4aec2c4-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a4aec2c4-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:a4aec2c4-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ce16bb53 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ce16bb53 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ce16bb53 +TIMESTAMP INFO Updated state #025: Changed 4 fields: +TIMESTAMP INFO Updated state #025: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #025: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:ce16bb53-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-2876", +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" : "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:ce16bb53-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ce16bb53-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:ce16bb53-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ce16bb53-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:ce16bb53-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:ce16bb53-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" : "Git operation failed", +TIMESTAMP TRACE Received state_blobset: "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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:ce16bb53-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ce16bb53-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:ce16bb53-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:6edc7508 +TIMESTAMP DEBUG device.log: Git: error: pathspec '{ +TIMESTAMP DEBUG device.log: Git: "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" +TIMESTAMP DEBUG device.log: Git: }' did not match any file(s) known to git +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Git operation failed +TIMESTAMP ERROR blobset.blob.fetch.failure: Git operation failed +TIMESTAMP DEBUG device.log: State update defer -18029ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 2000ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) +TIMESTAMP DEBUG Handling device message events_system MP:6edc7508 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP ERROR blobset.blob.fetch.failure: Git operation failed +TIMESTAMP DEBUG Detail system logs level `ERROR` category `blobset.blob.fetch.failure` is now: null +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 @54s after 27s +TIMESTAMP TRACE Stage resume waiting for executing test at @54s +TIMESTAMP TRACE Stage suspend waiting for executing test at @54s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL and status is not null at @54s +TIMESTAMP is -23086ms +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 and status is not null +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL and status is not null at @54s after 0s +TIMESTAMP TRACE Stage resume waiting for executing test at @54s +TIMESTAMP DEBUG stage done waiting for executing test at @54s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates ota_fetch_failure PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test ota_fetch_failure after @54s ################################ diff --git a/validator/sequences/ota_fetch_failure/sequence.md b/validator/sequences/ota_fetch_failure/sequence.md new file mode 100644 index 0000000000..24e246ef7c --- /dev/null +++ b/validator/sequences/ota_fetch_failure/sequence.md @@ -0,0 +1,10 @@ + +## ota_fetch_failure (PREVIEW) + +1. Update config trigger ota 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 is APPLY +1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` +1. Wait for pubber_module phase is FINAL and status is not null + +Test passed. diff --git a/validator/sequences/ota_fetch_failure/state_blobset.attr b/validator/sequences/ota_fetch_failure/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_blobset.json b/validator/sequences/ota_fetch_failure/state_blobset.json new file mode 100644 index 0000000000..36062a0d0f --- /dev/null +++ b/validator/sequences/ota_fetch_failure/state_blobset.json @@ -0,0 +1,17 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Git operation failed", + "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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/ota_fetch_failure/state_discovery.attr b/validator/sequences/ota_fetch_failure/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_discovery.json b/validator/sequences/ota_fetch_failure/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_localnet.attr b/validator/sequences/ota_fetch_failure/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_localnet.json b/validator/sequences/ota_fetch_failure/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_pointset.attr b/validator/sequences/ota_fetch_failure/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_pointset.json b/validator/sequences/ota_fetch_failure/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_system.attr b/validator/sequences/ota_fetch_failure/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_system.json b/validator/sequences/ota_fetch_failure/state_system.json new file mode 100644 index 0000000000..6bd75f74d1 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/state_system.json @@ -0,0 +1,26 @@ +{ + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "last_config" : "TIMESTAMP", + "operation" : { + "operational" : true, + "last_start" : "TIMESTAMP", + "restart_count" : 2, + "mode" : "initial" + }, + "serial_no" : "sequencer-2876", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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/ota_fetch_failure/state_update.attr b/validator/sequences/ota_fetch_failure/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_update.json b/validator/sequences/ota_fetch_failure/state_update.json new file mode 100644 index 0000000000..aade8ff050 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/state_update.json @@ -0,0 +1,76 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Git operation failed", + "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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" : 2, + "mode" : "initial" + }, + "serial_no" : "sequencer-2876", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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/ota_fetch_failure/state_validation.attr b/validator/sequences/ota_fetch_failure/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/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/ota_fetch_failure/state_validation.json b/validator/sequences/ota_fetch_failure/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_fetch_failure/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_blobset.attr b/validator/sequences/ota_happy_path/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/config_blobset.json b/validator/sequences/ota_happy_path/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_happy_path/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_discovery.attr b/validator/sequences/ota_happy_path/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/config_discovery.json b/validator/sequences/ota_happy_path/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_happy_path/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_localnet.attr b/validator/sequences/ota_happy_path/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/config_localnet.json b/validator/sequences/ota_happy_path/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_happy_path/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_pointset.attr b/validator/sequences/ota_happy_path/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/config_pointset.json b/validator/sequences/ota_happy_path/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_happy_path/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_system.attr b/validator/sequences/ota_happy_path/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/config_system.json b/validator/sequences/ota_happy_path/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_happy_path/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_update.attr b/validator/sequences/ota_happy_path/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/config_update.json b/validator/sequences/ota_happy_path/config_update.json new file mode 100644 index 0000000000..918f4b9ee4 --- /dev/null +++ b/validator/sequences/ota_happy_path/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-810075ff-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "ota_happy_path" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "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/ota_happy_path/device_system.log b/validator/sequences/ota_happy_path/device_system.log new file mode 100644 index 0000000000..08ed6b2e79 --- /dev/null +++ b/validator/sequences/ota_happy_path/device_system.log @@ -0,0 +1,184 @@ +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-2876, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo +TIMESTAMP INFO device.log Isolated repo initialized. +TIMESTAMP WARNING device.log Starting connection 1775639636791 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 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1775639636791 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 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 1893ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 1887ms +TIMESTAMP DEBUG device.log State update defer 1887ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -406ms +TIMESTAMP +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1056ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1299ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 1997ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1769ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 1764ms +TIMESTAMP DEBUG device.log State update defer 1763ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 866ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 863ms +TIMESTAMP DEBUG device.log State update defer 862ms +TIMESTAMP DEBUG device.log State update defer 861ms +TIMESTAMP DEBUG device.log State update defer 861ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 663ms +TIMESTAMP DEBUG device.log State update defer 662ms +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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 659ms +TIMESTAMP DEBUG device.log State update defer 658ms +TIMESTAMP DEBUG device.log State update defer 658ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1498ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1496ms +TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) +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.apply Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log State update delay 1491ms +TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG blobset.blob.apply Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.apply Successfully fetched blob data for pubber_module +TIMESTAMP INFO device.log Triggering Git OTA update to commit v2 +TIMESTAMP NOTICE blobset.blob.apply Applying Git OTA update to commit v2 +TIMESTAMP INFO device.log Simulating OTA update delay... +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/ota_happy_path/events_pointset.attr b/validator/sequences/ota_happy_path/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/events_pointset.json b/validator/sequences/ota_happy_path/events_pointset.json new file mode 100644 index 0000000000..68bbd0e05e --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/events_system.attr b/validator/sequences/ota_happy_path/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/events_system.json b/validator/sequences/ota_happy_path/events_system.json new file mode 100644 index 0000000000..3ecb89c32a --- /dev/null +++ b/validator/sequences/ota_happy_path/events_system.json @@ -0,0 +1,11 @@ +{ + "event_no" : 5, + "last_config" : "TIMESTAMP", + "logentries" : [ ], + "metrics" : { + "mem_total_mb" : 160.0, + "mem_free_mb" : 132.57996368408203 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_blobset.json b/validator/sequences/ota_happy_path/local_blobset.json new file mode 100644 index 0000000000..fbaa46852e --- /dev/null +++ b/validator/sequences/ota_happy_path/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_discovery.json b/validator/sequences/ota_happy_path/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/ota_happy_path/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_localnet.json b/validator/sequences/ota_happy_path/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/ota_happy_path/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_pointset.json b/validator/sequences/ota_happy_path/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/local_system.json b/validator/sequences/ota_happy_path/local_system.json new file mode 100644 index 0000000000..ede2f41b61 --- /dev/null +++ b/validator/sequences/ota_happy_path/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "ota_happy_path" + } +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_update.json b/validator/sequences/ota_happy_path/local_update.json new file mode 100644 index 0000000000..5559accfff --- /dev/null +++ b/validator/sequences/ota_happy_path/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-810075ff-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "ota_happy_path" + } + }, + "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/ota_happy_path/sequence.log b/validator/sequences/ota_happy_path/sequence.log new file mode 100644 index 0000000000..057f2bdb6f --- /dev/null +++ b/validator/sequences/ota_happy_path/sequence.log @@ -0,0 +1,1498 @@ +TIMESTAMP NOTICE Starting test ota_happy_path ################################ +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:81) +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:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6095ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:1b39fc.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:1b39fc.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:1b39fc.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:1b39fc.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:636dfa7d +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:636dfa7d +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:4fdb9264 +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-2876, mac null, gateway null, options noPersist +TIMESTAMP INFO device.log: Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo +TIMESTAMP INFO device.log: Isolated repo initialized. +TIMESTAMP WARNING device.log: Starting connection 1775639636791 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 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1775639636791 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:4fdb9264 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:f04c389d +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:f04c389d +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6f1ffa2a +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6f1ffa2a +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6f1ffa2a +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-2876", +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" : "v2" +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-2876 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000004 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-810075ff-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" : "ota_happy_path" +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:1b39fc.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:6f1ffa2a-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-2876", +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" : "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:6f1ffa2a-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:6f1ffa2a-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:6f1ffa2a-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6f1ffa2a-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:6f1ffa2a-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6f1ffa2a-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:6f1ffa2a-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:6f1ffa2a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:6f1ffa2a +TIMESTAMP +TIMESTAMP MP:6f1ffa2a +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:175cc8e9 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:175cc8e9 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:175cc8e9 +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:175cc8e9-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-2876", +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" : "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:175cc8e9-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:175cc8e9-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:175cc8e9-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 1700ms +TIMESTAMP DEBUG Rate-limiting config by 1700ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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:175cc8e9-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:175cc8e9-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:175cc8e9-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:175cc8e9-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000005 +TIMESTAMP +TIMESTAMP RC:1b39fc.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:f2226808 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f2226808 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f2226808 +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:1b39fc.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.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:f2226808-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-2876", +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" : "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:f2226808-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f2226808-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:f2226808-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f2226808-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:f2226808-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f2226808-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:f2226808-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6d3707e0 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6d3707e0 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6d3707e0 +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:6d3707e0-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-2876", +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" : "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:6d3707e0-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:1b39fc.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:6d3707e0-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:6d3707e0-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6d3707e0-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:6d3707e0-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6d3707e0-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:6d3707e0-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:1b39fc.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update RC:1b39fc.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:1b39fc.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:1b39fc.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 960ms +TIMESTAMP DEBUG Rate-limiting config by 960ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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:1b39fc.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:de5d9f8b +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 1995ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1893ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 1887ms +TIMESTAMP DEBUG device.log: State update defer 1887ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -406ms +TIMESTAMP +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG Handling device message events_system MP:de5d9f8b +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000007 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000007 +TIMESTAMP INFO Updated config #004: 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:9115740a +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:9115740a +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:9115740a +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 CU:1b39fc.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.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:9115740a-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-2876", +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" : "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:9115740a-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:9115740a-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:9115740a-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:9115740a-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:9115740a-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:9115740a-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:9115740a-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:57e7b5e2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:57e7b5e2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:57e7b5e2 +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:57e7b5e2-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-2876", +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" : "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:57e7b5e2-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:57e7b5e2-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:57e7b5e2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:57e7b5e2-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:57e7b5e2-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 OTA 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:1b39fc.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:1b39fc.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:1b39fc.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:1b39fc.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:1b39fc.0000000c +TIMESTAMP +TIMESTAMP, because trigger ota 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:57e7b5e2-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:57e7b5e2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:15981566 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:15981566 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:15981566 +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:1b39fc.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000008 +TIMESTAMP +TIMESTAMP RC:1b39fc.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:1b39fc.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:1b39fc.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:15981566-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-2876", +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" : "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:15981566-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:15981566-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:15981566-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:15981566-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:15981566-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:15981566-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:15981566-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.0000000c +TIMESTAMP +TIMESTAMP RC:1b39fc.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:1b39fc.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:1b39fc.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000009 +TIMESTAMP +TIMESTAMP RC:1b39fc.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:1b39fc.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:1b39fc.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.0000000a +TIMESTAMP +TIMESTAMP RC:1b39fc.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:1b39fc.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:1b39fc.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f139e122 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f139e122 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f139e122 +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:f139e122-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-2876", +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" : "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:f139e122-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f139e122-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:f139e122-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f139e122-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:f139e122-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f139e122-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:f139e122-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.0000000b +TIMESTAMP +TIMESTAMP RC:1b39fc.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:1b39fc.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:1b39fc.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.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:b99116e2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b99116e2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b99116e2 +TIMESTAMP INFO Updated state #010: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b99116e2-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-2876", +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" : "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:b99116e2-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 ota 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 ota 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 is APPLY at @27s +TIMESTAMP is 1961ms +TIMESTAMP DEBUG Rate-limiting config by 1961ms +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 APPLY +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is APPLY 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 system logs level `NOTICE` category `blobset.blob.apply` 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 Received command AHU-1/state/discovery as MP:b99116e2-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:b99116e2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b99116e2-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:b99116e2-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:b99116e2-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:b99116e2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b99116e2-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:b99116e2-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:2f240cf6 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1056ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1299ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 1997ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1769ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 1764ms +TIMESTAMP DEBUG device.log: State update defer 1763ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 866ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 863ms +TIMESTAMP DEBUG device.log: State update defer 862ms +TIMESTAMP DEBUG device.log: State update defer 861ms +TIMESTAMP DEBUG device.log: State update defer 861ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 663ms +TIMESTAMP DEBUG device.log: State update defer 662ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 659ms +TIMESTAMP DEBUG device.log: State update defer 658ms +TIMESTAMP DEBUG device.log: State update defer 658ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1498ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1496ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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.apply: Received blob update config for pubber_module +TIMESTAMP +TIMESTAMP WARNING device.log: State update delay 1491ms +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG blobset.blob.apply: Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.apply: Successfully fetched blob data for pubber_module +TIMESTAMP INFO device.log: Triggering Git OTA update to commit v2 +TIMESTAMP NOTICE blobset.blob.apply: Applying Git OTA update to commit v2 +TIMESTAMP INFO device.log: Simulating OTA update delay... +TIMESTAMP DEBUG Handling device message events_system MP:2f240cf6 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1056ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) +TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) +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 (ota_happy_path) +TIMESTAMP NOTICE blobset.blob.apply: Applying Git OTA update to commit v2 +TIMESTAMP DEBUG Detail system logs level `NOTICE` category `blobset.blob.apply` is now: null +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 @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 pubber_module phase is FINAL and status is null at @31s +TIMESTAMP is 1951ms +TIMESTAMP DEBUG Rate-limiting config by 1951ms +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 and status is null +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e2198e9f +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:e2198e9f +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:638f54ef +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:638f54ef +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:638f54ef +TIMESTAMP INFO Updated state #011: Changed 2 fields: +TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL and status is null at @47s after 15s +TIMESTAMP TRACE Stage resume waiting for executing test at @47s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module software version reflects update +TIMESTAMP DEBUG stage done waiting for executing test at @47s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates ota_happy_path PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test ota_happy_path after @47s ################################ diff --git a/validator/sequences/ota_happy_path/sequence.md b/validator/sequences/ota_happy_path/sequence.md new file mode 100644 index 0000000000..a486193b75 --- /dev/null +++ b/validator/sequences/ota_happy_path/sequence.md @@ -0,0 +1,11 @@ + +## ota_happy_path (PREVIEW) + +1. Update config trigger ota 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 is APPLY +1. Wait until system logs level `NOTICE` category `blobset.blob.apply` +1. Wait for pubber_module phase is FINAL and status is null +1. Check that pubber_module software version reflects update + +Test passed. diff --git a/validator/sequences/ota_happy_path/state_blobset.attr b/validator/sequences/ota_happy_path/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_blobset.json b/validator/sequences/ota_happy_path/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_discovery.attr b/validator/sequences/ota_happy_path/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_discovery.json b/validator/sequences/ota_happy_path/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_localnet.attr b/validator/sequences/ota_happy_path/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_localnet.json b/validator/sequences/ota_happy_path/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_pointset.attr b/validator/sequences/ota_happy_path/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_pointset.json b/validator/sequences/ota_happy_path/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_system.attr b/validator/sequences/ota_happy_path/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_system.json b/validator/sequences/ota_happy_path/state_system.json new file mode 100644 index 0000000000..818bf97de0 --- /dev/null +++ b/validator/sequences/ota_happy_path/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-2876", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/state_update.attr b/validator/sequences/ota_happy_path/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_update.json b/validator/sequences/ota_happy_path/state_update.json new file mode 100644 index 0000000000..2d62673d4a --- /dev/null +++ b/validator/sequences/ota_happy_path/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-2876", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/state_validation.attr b/validator/sequences/ota_happy_path/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/ota_happy_path/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/ota_happy_path/state_validation.json b/validator/sequences/ota_happy_path/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/ota_happy_path/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file From c117632efdfa7bfcc92ba44f1a70f9b1e266d5fc Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Wed, 8 Apr 2026 09:43:12 +0000 Subject: [PATCH 07/22] remove redundant pubber flag --- .gencode_hash.txt | 6 +-- etc/test_itemized.in | 1 - gencode/docs/configuration_pubber.html | 41 ------------------- gencode/java/udmi/schema/PubberOptions.java | 13 +----- gencode/python/udmi/schema/options_pubber.py | 1 - .../pubber/impl/host/PubberPublisherHost.java | 9 +--- schema/options_pubber.json | 4 -- 7 files changed, 6 insertions(+), 69 deletions(-) diff --git a/.gencode_hash.txt b/.gencode_hash.txt index 868d318d61..1eca220f39 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -5,7 +5,7 @@ c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/c 0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html 654866c5fd678c75cf821a9abb257dde6907542fc91e525a9170ad1f6297b525 gencode/docs/configuration_execution.html 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html -d6d9e8202750384de2cd0f7d9dbed3f31c1ef4101db3174ece6f0e97167106e1 gencode/docs/configuration_pubber.html +b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html f41491a13c6268919608e144495a7dda5a767429125ac1624ccae91ee5158a50 gencode/docs/events.html 5bad31cd6d7850772636d7bdd0b9984abf57af37944227fa5ef7245551ec59dd gencode/docs/events_discovery.html @@ -118,7 +118,7 @@ c73ad6dde0db8a520f3fee5a563c55a79fc7e6d1cd7875723b10c3d34036a46b gencode/java/u 9637f95e8a1185b1b028308a8caa2ca5a78cb46ae97f9cc11e2731066129540e gencode/java/udmi/schema/Position.java d87deaba67bb3272c528e3491d378bde059b626964a4a2aed15f5643305c2463 gencode/java/udmi/schema/Properties.java 4cdd5dc6b2e054a43f2e70adeb46ef8e3ff78288d4315923a925415f87e871aa gencode/java/udmi/schema/PubberConfiguration.java -2b07e8c3c67ae327753545703d2f7e0295318d37e35e004dc99d93e99b7602fe gencode/java/udmi/schema/PubberOptions.java +86b4de51f2ba6e9afe34a5a9069e34cf5aa14b7e08d7ac2ed688bad42a769205 gencode/java/udmi/schema/PubberOptions.java cd2c7580a75391393c2f761f4434e4e7e83e2d2d1f35e9e62d69c19e65ea2557 gencode/java/udmi/schema/RefDiscovery.java 14faa115d13ee46d10935b13753bff85758f3b64b5136a59f60d36b5b541687c gencode/java/udmi/schema/SchemaValidationState.java fadf083200e73d46cfdec2f710d40e3d2bc4dbf05196e4d0900186e72b62d95e gencode/java/udmi/schema/Scoring.java @@ -224,7 +224,7 @@ f65ab38c968d1dc2ffb2d3eaf632f401e2b722ff0d6fe69abf20227f694c0d33 gencode/python 345ee1c07dc58c9a2daabf0820e15d881c4af271a8ea85044c45cd4dca3c0afa gencode/python/udmi/schema/model_testing_target.py f65537d0d2f8a255b9cbc52fd5d52558e3af4e58f6e2f28a43d4eaf4b99adc73 gencode/python/udmi/schema/monitoring.py 5e9531a0fec79fb0bcd637ac68d6b6f38119c054e9b18fe624f2ca283ac2e9bf gencode/python/udmi/schema/monitoring_metric.py -843e74fec6b1314a7323553ea512628c89ca3e6e9a4ee692bd4695b526e23f19 gencode/python/udmi/schema/options_pubber.py +336a38ea7d8fbf81a8f4e7fa56a2365fe849e4a1f86981d62be4a4c44168b104 gencode/python/udmi/schema/options_pubber.py ceebc2dc7cdb264730f64036312c42c9e16e8aaea5168ee3bf01bbe1f8c6950d gencode/python/udmi/schema/persistent_device.py 0fd2f78dfc89df3055d617b6f9f70c46c14b5dc307cc5b7705b09d9d782c33c2 gencode/python/udmi/schema/properties.py debb60af8af183f2382f6def95a7a3d051c8b34d68de094e76e7d8636532c3d2 gencode/python/udmi/schema/query_cloud.py diff --git a/etc/test_itemized.in b/etc/test_itemized.in index c3571de7fd..2597a63506 100644 --- a/etc/test_itemized.in +++ b/etc/test_itemized.in @@ -27,7 +27,6 @@ TEST system_last_update extraField=fnooz TEST system_last_update dupeState TEST system_last_update badLevel TEST state_make_model badState -TEST ota_fetch_failure otaFailFetch # Test with various device metadata.json options WITH AHU-1 noState diff --git a/gencode/docs/configuration_pubber.html b/gencode/docs/configuration_pubber.html index 218ba0a8bc..b1ede1ae25 100644 --- a/gencode/docs/configuration_pubber.html +++ b/gencode/docs/configuration_pubber.html @@ -3301,47 +3301,6 @@

-

-
-
-
-
-
-
-

- -

-
- -
-
- - Type: boolean
-

If true, pubber will simulate a network failure during OTA fetch.

-
- - - - - -
diff --git a/gencode/java/udmi/schema/PubberOptions.java b/gencode/java/udmi/schema/PubberOptions.java index aa2ba10e11..4ea29397b9 100644 --- a/gencode/java/udmi/schema/PubberOptions.java +++ b/gencode/java/udmi/schema/PubberOptions.java @@ -54,8 +54,7 @@ "fixedLogLevel", "fastWrite", "delayWrite", - "softwareFirmwareValue", - "otaFailFetch" + "softwareFirmwareValue" }) public class PubberOptions { @@ -159,13 +158,6 @@ public class PubberOptions { public Boolean delayWrite; @JsonProperty("softwareFirmwareValue") public String softwareFirmwareValue; - /** - * If true, pubber will simulate a network failure during OTA fetch. - * - */ - @JsonProperty("otaFailFetch") - @JsonPropertyDescription("If true, pubber will simulate a network failure during OTA fetch.") - public Boolean otaFailFetch; @Override public int hashCode() { @@ -178,7 +170,6 @@ public int hashCode() { result = ((result* 31)+((this.messageTrace == null)? 0 :this.messageTrace.hashCode())); result = ((result* 31)+((this.softwareFirmwareValue == null)? 0 :this.softwareFirmwareValue.hashCode())); result = ((result* 31)+((this.noWriteback == null)? 0 :this.noWriteback.hashCode())); - result = ((result* 31)+((this.otaFailFetch == null)? 0 :this.otaFailFetch.hashCode())); result = ((result* 31)+((this.msTimestamp == null)? 0 :this.msTimestamp.hashCode())); result = ((result* 31)+((this.noLastStart == null)? 0 :this.noLastStart.hashCode())); result = ((result* 31)+((this.badLevel == null)? 0 :this.badLevel.hashCode())); @@ -223,7 +214,7 @@ public boolean equals(Object other) { return false; } PubberOptions rhs = ((PubberOptions) other); - return ((((((((((((((((((((((((((((((((((((((((((this.skewClock == rhs.skewClock)||((this.skewClock!= null)&&this.skewClock.equals(rhs.skewClock)))&&((this.noPersist == rhs.noPersist)||((this.noPersist!= null)&&this.noPersist.equals(rhs.noPersist))))&&((this.noLastConfig == rhs.noLastConfig)||((this.noLastConfig!= null)&&this.noLastConfig.equals(rhs.noLastConfig))))&&((this.noLog == rhs.noLog)||((this.noLog!= null)&&this.noLog.equals(rhs.noLog))))&&((this.noHardware == rhs.noHardware)||((this.noHardware!= null)&&this.noHardware.equals(rhs.noHardware))))&&((this.messageTrace == rhs.messageTrace)||((this.messageTrace!= null)&&this.messageTrace.equals(rhs.messageTrace))))&&((this.softwareFirmwareValue == rhs.softwareFirmwareValue)||((this.softwareFirmwareValue!= null)&&this.softwareFirmwareValue.equals(rhs.softwareFirmwareValue))))&&((this.noWriteback == rhs.noWriteback)||((this.noWriteback!= null)&&this.noWriteback.equals(rhs.noWriteback))))&&((this.otaFailFetch == rhs.otaFailFetch)||((this.otaFailFetch!= null)&&this.otaFailFetch.equals(rhs.otaFailFetch))))&&((this.msTimestamp == rhs.msTimestamp)||((this.msTimestamp!= null)&&this.msTimestamp.equals(rhs.msTimestamp))))&&((this.noLastStart == rhs.noLastStart)||((this.noLastStart!= null)&&this.noLastStart.equals(rhs.noLastStart))))&&((this.badLevel == rhs.badLevel)||((this.badLevel!= null)&&this.badLevel.equals(rhs.badLevel))))&&((this.tweakState == rhs.tweakState)||((this.tweakState!= null)&&this.tweakState.equals(rhs.tweakState))))&&((this.spamState == rhs.spamState)||((this.spamState!= null)&&this.spamState.equals(rhs.spamState))))&&((this.noState == rhs.noState)||((this.noState!= null)&&this.noState.equals(rhs.noState))))&&((this.badState == rhs.badState)||((this.badState!= null)&&this.badState.equals(rhs.badState))))&&((this.baseState == rhs.baseState)||((this.baseState!= null)&&this.baseState.equals(rhs.baseState))))&&((this.noStatus == rhs.noStatus)||((this.noStatus!= null)&&this.noStatus.equals(rhs.noStatus))))&&((this.fastWrite == rhs.fastWrite)||((this.fastWrite!= null)&&this.fastWrite.equals(rhs.fastWrite))))&&((this.noFolder == rhs.noFolder)||((this.noFolder!= null)&&this.noFolder.equals(rhs.noFolder))))&&((this.noProxy == rhs.noProxy)||((this.noProxy!= null)&&this.noProxy.equals(rhs.noProxy))))&&((this.missingPoint == rhs.missingPoint)||((this.missingPoint!= null)&&this.missingPoint.equals(rhs.missingPoint))))&&((this.badCategory == rhs.badCategory)||((this.badCategory!= null)&&this.badCategory.equals(rhs.badCategory))))&&((this.extraPoint == rhs.extraPoint)||((this.extraPoint!= null)&&this.extraPoint.equals(rhs.extraPoint))))&&((this.badAddr == rhs.badAddr)||((this.badAddr!= null)&&this.badAddr.equals(rhs.badAddr))))&&((this.smokeCheck == rhs.smokeCheck)||((this.smokeCheck!= null)&&this.smokeCheck.equals(rhs.smokeCheck))))&&((this.redirectRegistry == rhs.redirectRegistry)||((this.redirectRegistry!= null)&&this.redirectRegistry.equals(rhs.redirectRegistry))))&&((this.noPointState == rhs.noPointState)||((this.noPointState!= null)&&this.noPointState.equals(rhs.noPointState))))&&((this.disableWriteback == rhs.disableWriteback)||((this.disableWriteback!= null)&&this.disableWriteback.equals(rhs.disableWriteback))))&&((this.barfConfig == rhs.barfConfig)||((this.barfConfig!= null)&&this.barfConfig.equals(rhs.barfConfig))))&&((this.extraField == rhs.extraField)||((this.extraField!= null)&&this.extraField.equals(rhs.extraField))))&&((this.emptyMissing == rhs.emptyMissing)||((this.emptyMissing!= null)&&this.emptyMissing.equals(rhs.emptyMissing))))&&((this.fixedSampleRate == rhs.fixedSampleRate)||((this.fixedSampleRate!= null)&&this.fixedSampleRate.equals(rhs.fixedSampleRate))))&&((this.dupeState == rhs.dupeState)||((this.dupeState!= null)&&this.dupeState.equals(rhs.dupeState))))&&((this.featureEnableSwap == rhs.featureEnableSwap)||((this.featureEnableSwap!= null)&&this.featureEnableSwap.equals(rhs.featureEnableSwap))))&&((this.delayWrite == rhs.delayWrite)||((this.delayWrite!= null)&&this.delayWrite.equals(rhs.delayWrite))))&&((this.extraDevice == rhs.extraDevice)||((this.extraDevice!= null)&&this.extraDevice.equals(rhs.extraDevice))))&&((this.noConfigAck == rhs.noConfigAck)||((this.noConfigAck!= null)&&this.noConfigAck.equals(rhs.noConfigAck))))&&((this.badVersion == rhs.badVersion)||((this.badVersion!= null)&&this.badVersion.equals(rhs.badVersion))))&&((this.fixedLogLevel == rhs.fixedLogLevel)||((this.fixedLogLevel!= null)&&this.fixedLogLevel.equals(rhs.fixedLogLevel))))&&((this.configStateDelay == rhs.configStateDelay)||((this.configStateDelay!= null)&&this.configStateDelay.equals(rhs.configStateDelay)))); + return (((((((((((((((((((((((((((((((((((((((((this.skewClock == rhs.skewClock)||((this.skewClock!= null)&&this.skewClock.equals(rhs.skewClock)))&&((this.noPersist == rhs.noPersist)||((this.noPersist!= null)&&this.noPersist.equals(rhs.noPersist))))&&((this.noLastConfig == rhs.noLastConfig)||((this.noLastConfig!= null)&&this.noLastConfig.equals(rhs.noLastConfig))))&&((this.noLog == rhs.noLog)||((this.noLog!= null)&&this.noLog.equals(rhs.noLog))))&&((this.noHardware == rhs.noHardware)||((this.noHardware!= null)&&this.noHardware.equals(rhs.noHardware))))&&((this.messageTrace == rhs.messageTrace)||((this.messageTrace!= null)&&this.messageTrace.equals(rhs.messageTrace))))&&((this.softwareFirmwareValue == rhs.softwareFirmwareValue)||((this.softwareFirmwareValue!= null)&&this.softwareFirmwareValue.equals(rhs.softwareFirmwareValue))))&&((this.noWriteback == rhs.noWriteback)||((this.noWriteback!= null)&&this.noWriteback.equals(rhs.noWriteback))))&&((this.msTimestamp == rhs.msTimestamp)||((this.msTimestamp!= null)&&this.msTimestamp.equals(rhs.msTimestamp))))&&((this.noLastStart == rhs.noLastStart)||((this.noLastStart!= null)&&this.noLastStart.equals(rhs.noLastStart))))&&((this.badLevel == rhs.badLevel)||((this.badLevel!= null)&&this.badLevel.equals(rhs.badLevel))))&&((this.tweakState == rhs.tweakState)||((this.tweakState!= null)&&this.tweakState.equals(rhs.tweakState))))&&((this.spamState == rhs.spamState)||((this.spamState!= null)&&this.spamState.equals(rhs.spamState))))&&((this.noState == rhs.noState)||((this.noState!= null)&&this.noState.equals(rhs.noState))))&&((this.badState == rhs.badState)||((this.badState!= null)&&this.badState.equals(rhs.badState))))&&((this.baseState == rhs.baseState)||((this.baseState!= null)&&this.baseState.equals(rhs.baseState))))&&((this.noStatus == rhs.noStatus)||((this.noStatus!= null)&&this.noStatus.equals(rhs.noStatus))))&&((this.fastWrite == rhs.fastWrite)||((this.fastWrite!= null)&&this.fastWrite.equals(rhs.fastWrite))))&&((this.noFolder == rhs.noFolder)||((this.noFolder!= null)&&this.noFolder.equals(rhs.noFolder))))&&((this.noProxy == rhs.noProxy)||((this.noProxy!= null)&&this.noProxy.equals(rhs.noProxy))))&&((this.missingPoint == rhs.missingPoint)||((this.missingPoint!= null)&&this.missingPoint.equals(rhs.missingPoint))))&&((this.badCategory == rhs.badCategory)||((this.badCategory!= null)&&this.badCategory.equals(rhs.badCategory))))&&((this.extraPoint == rhs.extraPoint)||((this.extraPoint!= null)&&this.extraPoint.equals(rhs.extraPoint))))&&((this.badAddr == rhs.badAddr)||((this.badAddr!= null)&&this.badAddr.equals(rhs.badAddr))))&&((this.smokeCheck == rhs.smokeCheck)||((this.smokeCheck!= null)&&this.smokeCheck.equals(rhs.smokeCheck))))&&((this.redirectRegistry == rhs.redirectRegistry)||((this.redirectRegistry!= null)&&this.redirectRegistry.equals(rhs.redirectRegistry))))&&((this.noPointState == rhs.noPointState)||((this.noPointState!= null)&&this.noPointState.equals(rhs.noPointState))))&&((this.disableWriteback == rhs.disableWriteback)||((this.disableWriteback!= null)&&this.disableWriteback.equals(rhs.disableWriteback))))&&((this.barfConfig == rhs.barfConfig)||((this.barfConfig!= null)&&this.barfConfig.equals(rhs.barfConfig))))&&((this.extraField == rhs.extraField)||((this.extraField!= null)&&this.extraField.equals(rhs.extraField))))&&((this.emptyMissing == rhs.emptyMissing)||((this.emptyMissing!= null)&&this.emptyMissing.equals(rhs.emptyMissing))))&&((this.fixedSampleRate == rhs.fixedSampleRate)||((this.fixedSampleRate!= null)&&this.fixedSampleRate.equals(rhs.fixedSampleRate))))&&((this.dupeState == rhs.dupeState)||((this.dupeState!= null)&&this.dupeState.equals(rhs.dupeState))))&&((this.featureEnableSwap == rhs.featureEnableSwap)||((this.featureEnableSwap!= null)&&this.featureEnableSwap.equals(rhs.featureEnableSwap))))&&((this.delayWrite == rhs.delayWrite)||((this.delayWrite!= null)&&this.delayWrite.equals(rhs.delayWrite))))&&((this.extraDevice == rhs.extraDevice)||((this.extraDevice!= null)&&this.extraDevice.equals(rhs.extraDevice))))&&((this.noConfigAck == rhs.noConfigAck)||((this.noConfigAck!= null)&&this.noConfigAck.equals(rhs.noConfigAck))))&&((this.badVersion == rhs.badVersion)||((this.badVersion!= null)&&this.badVersion.equals(rhs.badVersion))))&&((this.fixedLogLevel == rhs.fixedLogLevel)||((this.fixedLogLevel!= null)&&this.fixedLogLevel.equals(rhs.fixedLogLevel))))&&((this.configStateDelay == rhs.configStateDelay)||((this.configStateDelay!= null)&&this.configStateDelay.equals(rhs.configStateDelay)))); } } diff --git a/gencode/python/udmi/schema/options_pubber.py b/gencode/python/udmi/schema/options_pubber.py index 81188204bd..f8a26db8e9 100644 --- a/gencode/python/udmi/schema/options_pubber.py +++ b/gencode/python/udmi/schema/options_pubber.py @@ -55,4 +55,3 @@ class PubberOptions(DataModel): fastWrite: Optional[bool] = None delayWrite: Optional[bool] = None softwareFirmwareValue: Optional[str] = None - otaFailFetch: Optional[bool] = None 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 f810718316..7e9a44c9c6 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -166,14 +166,7 @@ public boolean isSupportedBlob(String blobKey) { return getBlobHandler(blobKey) != null; } - @Override - public String extractConfigBlob(String blobKey) { - if (Boolean.TRUE.equals(getOptions().otaFailFetch)) { - safeSleep(60000); // Give test time to see APPLY phase - throw new RuntimeException("Simulated network failure during fetch"); - } - return PublisherHost.super.extractConfigBlob(blobKey); - } + @Override public void handleBlob(String blobKey, String payload) { diff --git a/schema/options_pubber.json b/schema/options_pubber.json index 6cd37f517d..064e21a964 100644 --- a/schema/options_pubber.json +++ b/schema/options_pubber.json @@ -127,10 +127,6 @@ }, "softwareFirmwareValue": { "type": "string" - }, - "otaFailFetch": { - "type": "boolean", - "description": "If true, pubber will simulate a network failure during OTA fetch." } } } From ee337dfb519447e0aec610ac40d30082f70f4a48 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 08:27:21 +0000 Subject: [PATCH 08/22] More tests for OTA updates --- .gencode_hash.txt | 36 +- docs/specs/categories.md | 3 +- etc/test_itemized.in | 2 + gencode/docs/commands_mapping.html | 71 ++- gencode/docs/configuration_execution.html | 92 ++- gencode/docs/configuration_pubber.html | 82 +++ gencode/docs/events.html | 361 +++++++++-- gencode/docs/events_discovery.html | 255 ++++++-- gencode/docs/events_mapping.html | 71 ++- gencode/docs/events_system.html | 78 ++- gencode/docs/events_udmi.html | 78 ++- gencode/docs/events_validation.html | 149 ++++- gencode/docs/metadata.html | 403 ++++++++++-- gencode/docs/monitoring.html | 92 ++- gencode/docs/state.html | 602 +++++++++++++++--- gencode/docs/state_mapping.html | 85 ++- gencode/docs/state_validation.html | 580 ++++++++++++++--- gencode/java/udmi/schema/Category.java | 16 +- gencode/java/udmi/schema/PubberOptions.java | 22 +- gencode/python/udmi/schema/category.py | 7 +- gencode/python/udmi/schema/options_pubber.py | 2 + .../impl/host/MockGitModuleEmulator.java | 114 ++++ .../pubber/impl/host/PubberPublisherHost.java | 96 +-- .../java/udmi/lib/base/UdmiException.java | 23 + .../udmi/lib/client/host/PublisherHost.java | 155 ++--- schema/category.json | 3 +- schema/options_pubber.json | 8 + .../ota_dependency_mismatch/device_system.log | 1 + .../ota_dependency_mismatch/sequence.log | 24 + .../ota_dependency_mismatch/sequence.md | 5 + .../ota_hash_mismatch/device_system.log | 1 + .../sequences/ota_hash_mismatch/sequence.log | 24 + .../sequences/ota_hash_mismatch/sequence.md | 5 + .../sequencer/sequences/BlobsetSequences.java | 94 ++- 34 files changed, 2994 insertions(+), 646 deletions(-) create mode 100644 pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java create mode 100644 pubber/src/main/java/udmi/lib/base/UdmiException.java create mode 100644 validator/sequences/ota_dependency_mismatch/device_system.log create mode 100644 validator/sequences/ota_dependency_mismatch/sequence.log create mode 100644 validator/sequences/ota_dependency_mismatch/sequence.md create mode 100644 validator/sequences/ota_hash_mismatch/device_system.log create mode 100644 validator/sequences/ota_hash_mismatch/sequence.log create mode 100644 validator/sequences/ota_hash_mismatch/sequence.md diff --git a/.gencode_hash.txt b/.gencode_hash.txt index 1eca220f39..0cb1822dc5 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -1,21 +1,21 @@ 5c70161462ba15e3fd390ee725a721d35e95fa675e225fb30a605b5399b5a36e gencode/docs/building_config_entity.html c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/commands_discovery.html -2d700fe86f39ed9563ae4286861f85094b51db5e1c514f073f554f4c6ff8604b gencode/docs/commands_mapping.html +b2bf12968cecd8c558fd28397f7821c6ca7c60aa20f604398b5192e1437023bd gencode/docs/commands_mapping.html 2e4d35c12da77f4de02a6504ab915c0dc82ba07fe7fe28f92afaa67b90095e9c gencode/docs/config.html 0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html -654866c5fd678c75cf821a9abb257dde6907542fc91e525a9170ad1f6297b525 gencode/docs/configuration_execution.html +142c26e4e42bdca37241da254fe97620c6ab2057f8a2a751f01182fe2d4a8ffd gencode/docs/configuration_execution.html 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html -b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html +b52e5ed57d8aab0509692948f06731bb8390606a63faaecaa85a9b3402b24adb gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html -f41491a13c6268919608e144495a7dda5a767429125ac1624ccae91ee5158a50 gencode/docs/events.html -5bad31cd6d7850772636d7bdd0b9984abf57af37944227fa5ef7245551ec59dd gencode/docs/events_discovery.html -2113af96909f9669bd0409545df9d4aa196cce18e5db1a4041f5267fa1d26b25 gencode/docs/events_mapping.html +c03ac38808cea284a65b9be099cd7baf839ea3515ebd3d6f634c995cdc742e80 gencode/docs/events.html +457e3a0375b6847120b896e2c8c27fcb8f06e05645fb0b555eed9a9ce20e9b28 gencode/docs/events_discovery.html +b057352f07f159561c88bd436df53c5d831e7b22be525a5640121bc89fbefe20 gencode/docs/events_mapping.html eafcc3c48189f605f114cde051fea9d13fc5f1a3e395d64fb0a91cb53d4c9aeb gencode/docs/events_pointset.html -45996a14e9172e5178fb998d78df1903c73009149b30f06c89a8bf576cc82719 gencode/docs/events_system.html -da80d985eb1999e8d73670ed80648fe1d5973f6d7670306705b5877f146178f0 gencode/docs/events_udmi.html -f0804293697440d108456fa11d1d59da1efa76bb53fa26dea839157e457a696c gencode/docs/events_validation.html -38c4d2a9a733ca37c7d2d91431bd045bfff013abd4ea990a3ecbe052dc46bfa1 gencode/docs/metadata.html -36d3b11c2e07721aa33b6095e4c92bd1547eef3d46b1d4c2ba201ed958401404 gencode/docs/monitoring.html +13678cdf6642e7da5cf35fd6528c0b46a917f49406398b97439cc065e6e6f4a7 gencode/docs/events_system.html +c5df7d044f4588e6a83baf2a2da1e77f37cbfb9d3672f4df1cd1c7ec8dc80a8f gencode/docs/events_udmi.html +62a69395bb4df5b0196d9412133ac00d8af603065248f80a24050ad37c288ee6 gencode/docs/events_validation.html +7a9242e703839b03b539073325e6e6091e57923773b8c0394e7f978c36d2a5e0 gencode/docs/metadata.html +5f45fc3e2fbb5dbe78fbd0ca7b343b02ac2e2603e77a7644b84fbc42bffafc49 gencode/docs/monitoring.html 7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/query_cloud.html @@ -24,9 +24,9 @@ c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/q 165a29291d7d66653e46fd1ac5868f63e18f9d67c06ea9ebcb95d4830a528e68 gencode/docs/schema_doc.min.js 7ed934930aee763e0beebc349725ba3909115e8d346bb762f28bcbe745bb163a gencode/docs/schema_extras.js 7a1bbe014c739078d354ec484147325e1d0bd19468f275a53da38add43ebe089 gencode/docs/site_metadata.html -d6c57e0414340db76ffa66aa51be6b8f13b8d02e83a4b02a8a943bdd26bb62e7 gencode/docs/state.html -f6f941a17319e9f0a91cb5d9e5874b01e96544fb17f214e1b19cf9186bbb6ca5 gencode/docs/state_mapping.html -5eff3ed127c61a85144035a4608fd1467262a1f4bc3612a97885a769a1f9dd3a gencode/docs/state_validation.html +6714fbb6c87597e577455f399f94395de92be5feb12c7f5845c5084f84b4af57 gencode/docs/state.html +1e875bfe38cfd3dee85552f5800866d82b3e226cd81dcc6b9b8de8dcc39475f1 gencode/docs/state_mapping.html +baa1d655735ce58a5c5f7456b079ef7fe071162e382e5dd87d27d8f97d87f446 gencode/docs/state_validation.html 0e0d87fa6bc2f746eaacfbcd0f1258c9c6beee2b03d995868af9aafcbc4a88dc gencode/java/udmi/schema/Area.java 768d8b010bc90c5fbe198daf58f3847247ecc620a6fc046fffba877399cf1888 gencode/java/udmi/schema/Asset.java e82d4e13a59ffbdfe412c46977b69e8dddb803a4cb7cbfe4ae84c91a3c5b108b gencode/java/udmi/schema/Auth_provider.java @@ -41,7 +41,7 @@ d9f2924753c34ea5c8c9532d3a94c0c2fe2891d2cc8766646d40b1e90636f372 gencode/java/u 8773da8131fdc0f9409df0c04132abdaa01f658d0ec0e73dd8aa714b24454bdc gencode/java/udmi/schema/BuildingConfigEntity.java 519ead2ee2fe3e6fe48547266dec9a545521d52d262646f261ebfbbf8500d25f gencode/java/udmi/schema/BuildingTranslation.java 27ca4f61bd43beca0871b465f3906785a1030a4526605f1fa9b10e3adda8df05 gencode/java/udmi/schema/CapabilityValidationState.java -083bd1b02f3d63b2f20bfefdb2866002a341f9aa28ef578a4356de115400f258 gencode/java/udmi/schema/Category.java +bc1404a903864bf29ac0c5b7ade86ef5de23540d83d472354200f7c6f5c36213 gencode/java/udmi/schema/Category.java 0101d742dbaa23fb2152b044e5eabd6d219047cddbb973e9626a026946b7ddfc gencode/java/udmi/schema/CloudModel.java 051b4a7c85a2f1a310787f88f336be2fc9b87c99a94ac2f970955d2fe1daa931 gencode/java/udmi/schema/CloudQuery.java 3e6572b16184bde7557eb67334405e7c5b58446e64802658cf0d5ef3b0018909 gencode/java/udmi/schema/Common.java @@ -118,7 +118,7 @@ c73ad6dde0db8a520f3fee5a563c55a79fc7e6d1cd7875723b10c3d34036a46b gencode/java/u 9637f95e8a1185b1b028308a8caa2ca5a78cb46ae97f9cc11e2731066129540e gencode/java/udmi/schema/Position.java d87deaba67bb3272c528e3491d378bde059b626964a4a2aed15f5643305c2463 gencode/java/udmi/schema/Properties.java 4cdd5dc6b2e054a43f2e70adeb46ef8e3ff78288d4315923a925415f87e871aa gencode/java/udmi/schema/PubberConfiguration.java -86b4de51f2ba6e9afe34a5a9069e34cf5aa14b7e08d7ac2ed688bad42a769205 gencode/java/udmi/schema/PubberOptions.java +2149304b5341174f31e0f70587e0e423db201bc746bc1b42fd63a51d8557884c gencode/java/udmi/schema/PubberOptions.java cd2c7580a75391393c2f761f4434e4e7e83e2d2d1f35e9e62d69c19e65ea2557 gencode/java/udmi/schema/RefDiscovery.java 14faa115d13ee46d10935b13753bff85758f3b64b5136a59f60d36b5b541687c gencode/java/udmi/schema/SchemaValidationState.java fadf083200e73d46cfdec2f710d40e3d2bc4dbf05196e4d0900186e72b62d95e gencode/java/udmi/schema/Scoring.java @@ -158,7 +158,7 @@ f9d90861e568b27445bef241f04cce64cc44731c95c8bd9e3f65cef79d42dab0 gencode/python 2cde1ab831cfe9e06f772bcafd32540111617596b138ecfdcc8af6bc20e29b67 gencode/python/udmi/schema/bucket.py b4f4a394ce4049fafe267a146458d5b1725e2532788c5811b4b0b96f84715e31 gencode/python/udmi/schema/building_config_entity.py 6289f299f33104a14be1c67762c8bcb494c008d34a2ff906ef3760164538fc82 gencode/python/udmi/schema/building_translation.py -dc5580381748cc2a99dcc294832ed92fd89cea526d930e79b2ccf3b2e574ab1c gencode/python/udmi/schema/category.py +58a113be2abdd203ce9e34036cc3d6be0dae1a06672ad0c498d94f1b0f120cbe 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 @@ -224,7 +224,7 @@ f65ab38c968d1dc2ffb2d3eaf632f401e2b722ff0d6fe69abf20227f694c0d33 gencode/python 345ee1c07dc58c9a2daabf0820e15d881c4af271a8ea85044c45cd4dca3c0afa gencode/python/udmi/schema/model_testing_target.py f65537d0d2f8a255b9cbc52fd5d52558e3af4e58f6e2f28a43d4eaf4b99adc73 gencode/python/udmi/schema/monitoring.py 5e9531a0fec79fb0bcd637ac68d6b6f38119c054e9b18fe624f2ca283ac2e9bf gencode/python/udmi/schema/monitoring_metric.py -336a38ea7d8fbf81a8f4e7fa56a2365fe849e4a1f86981d62be4a4c44168b104 gencode/python/udmi/schema/options_pubber.py +67596886f418bb8c9a6f11c1cbda0c0833715d9391c860c3eb514703e810645f gencode/python/udmi/schema/options_pubber.py ceebc2dc7cdb264730f64036312c42c9e16e8aaea5168ee3bf01bbe1f8c6950d gencode/python/udmi/schema/persistent_device.py 0fd2f78dfc89df3055d617b6f9f70c46c14b5dc307cc5b7705b09d9d782c33c2 gencode/python/udmi/schema/properties.py debb60af8af183f2382f6def95a7a3d051c8b34d68de094e76e7d8636532c3d2 gencode/python/udmi/schema/query_cloud.py diff --git a/docs/specs/categories.md b/docs/specs/categories.md index 80555f6e22..4804d40e69 100644 --- a/docs/specs/categories.md +++ b/docs/specs/categories.md @@ -63,7 +63,8 @@ could be used with a **WARNING** level for a warning case during normal operatio * _verify_: Verifying a blob * _parse_: (**ERROR**) Error parsing blob * _hash_: (**ERROR**) Blob hash mismatch - * _compatibility_: (**ERROR**) Hardware or dependency mismatch + * _incompatible_: (**ERROR**) Blob is incompatible with the device + * _dependency_: (**ERROR**) Expected software dependencies not found * _apply_: (**NOTICE**) Applying a blob update * _abort_: (**NOTICE**) Aborting/Canceling a blob update * _validation_: Handling validation pipeline messages diff --git a/etc/test_itemized.in b/etc/test_itemized.in index 2597a63506..3579fbed5b 100644 --- a/etc/test_itemized.in +++ b/etc/test_itemized.in @@ -27,6 +27,8 @@ TEST system_last_update extraField=fnooz TEST system_last_update dupeState TEST system_last_update badLevel TEST state_make_model badState +TEST ota_hardware_mismatch hardwareIncompatible +TEST ota_software_mismatch softwareDependencyMismatch # Test with various device metadata.json options WITH AHU-1 noState diff --git a/gencode/docs/commands_mapping.html b/gencode/docs/commands_mapping.html index de6b3d3d6e..5765addb82 100644 --- a/gencode/docs/commands_mapping.html +++ b/gencode/docs/commands_mapping.html @@ -534,6 +534,11 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 +
@@ -1768,7 +1773,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -1808,7 +1813,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -1848,7 +1853,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1888,7 +1893,7 @@

/> item 33

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -1928,7 +1933,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -1968,7 +1973,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2008,7 +2013,7 @@

/> item 36

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2048,7 +2053,7 @@

/> item 37

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2088,7 +2093,7 @@

/> item 38

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2128,7 +2133,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2168,7 +2173,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2208,7 +2213,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2248,7 +2253,47 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 7500b74a21..a9ff60cae7 100644 --- a/gencode/docs/configuration_execution.html +++ b/gencode/docs/configuration_execution.html @@ -4495,6 +4495,11 @@

id="mapping_configuration_devices_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_mapping_configuration_devices_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#mapping_configuration_devices_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -6380,7 +6385,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -6441,7 +6446,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -6502,7 +6507,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -6563,7 +6568,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -6624,7 +6629,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -6685,7 +6690,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -6746,7 +6751,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -6807,7 +6812,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -6868,7 +6873,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -6929,7 +6934,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -6990,7 +6995,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -7051,7 +7056,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -7112,7 +7117,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/configuration_pubber.html b/gencode/docs/configuration_pubber.html index b1ede1ae25..5ea8a4cb22 100644 --- a/gencode/docs/configuration_pubber.html +++ b/gencode/docs/configuration_pubber.html @@ -3301,6 +3301,88 @@

+

+ + + +
+
+
+

+ +

+
+ +
+
+ + Type: boolean
+

If true, the pubber will simulate a physical hardware mismatch during OTA update.

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

+ +

+
+ +
+
+ + Type: boolean
+

If true, the pubber will simulate a temporal software dependency mismatch during OTA update.

+
+ + + + + +
diff --git a/gencode/docs/events.html b/gencode/docs/events.html index 58145f1fac..8881bfda62 100644 --- a/gencode/docs/events.html +++ b/gencode/docs/events.html @@ -680,6 +680,11 @@

id="system_logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_system_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#system_logentries_items_category_oneOf_i42')" >Option 43 +
@@ -2348,7 +2353,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2402,7 +2407,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2456,7 +2461,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2510,7 +2515,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2564,7 +2569,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2618,7 +2623,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2672,7 +2677,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2726,7 +2731,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2780,7 +2785,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2834,7 +2839,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2888,7 +2893,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2942,7 +2947,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2996,7 +3001,61 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -4557,6 +4616,11 @@

id="discovery_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_status_category_oneOf_i42')" >Option 43 +
@@ -6008,7 +6072,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -6055,7 +6119,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -6102,7 +6166,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -6149,7 +6213,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -6196,7 +6260,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -6243,7 +6307,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -6290,7 +6354,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -6337,7 +6401,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -6384,7 +6448,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -6431,7 +6495,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -6478,7 +6542,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -6525,7 +6589,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -6572,7 +6636,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13074,6 +13185,11 @@

id="discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -15393,7 +15509,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -15468,7 +15584,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -15543,7 +15659,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -15618,7 +15734,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -15693,7 +15809,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -15768,7 +15884,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -15843,7 +15959,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -15918,7 +16034,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -15993,7 +16109,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -16068,7 +16184,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -16143,7 +16259,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -16218,7 +16334,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -16293,7 +16409,82 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -18394,6 +18585,11 @@

id="discovery_refs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_refs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_refs_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -20279,7 +20475,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -20340,7 +20536,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -20401,7 +20597,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -20462,7 +20658,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -20523,7 +20719,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -20584,7 +20780,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -20645,7 +20841,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -20706,7 +20902,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -20767,7 +20963,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -20828,7 +21024,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -20889,7 +21085,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -20950,7 +21146,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -21011,7 +21207,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 acff75909a..21987731b6 100644 --- a/gencode/docs/events_discovery.html +++ b/gencode/docs/events_discovery.html @@ -504,6 +504,11 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 +
@@ -1738,7 +1743,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -1778,7 +1783,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -1818,7 +1823,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1858,7 +1863,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -1898,7 +1903,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -1938,7 +1943,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -1978,7 +1983,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2018,7 +2023,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2058,7 +2063,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2098,7 +2103,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2138,7 +2143,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2178,7 +2183,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2218,7 +2223,47 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -7985,6 +8030,11 @@

id="points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -10087,7 +10137,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -10155,7 +10205,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -10223,7 +10273,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -10291,7 +10341,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -10359,7 +10409,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -10427,7 +10477,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -10495,7 +10545,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -10563,7 +10613,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -10631,7 +10681,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -10699,7 +10749,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -10767,7 +10817,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -10835,7 +10885,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -10903,7 +10953,75 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -12808,6 +12926,11 @@

id="refs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_refs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#refs_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -14476,7 +14599,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -14530,7 +14653,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -14584,7 +14707,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -14638,7 +14761,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -14692,7 +14815,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -14746,7 +14869,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -14800,7 +14923,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -14854,7 +14977,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -14908,7 +15031,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -14962,7 +15085,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -15016,7 +15139,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -15070,7 +15193,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -15124,7 +15247,61 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 b6713edf95..a9366c5306 100644 --- a/gencode/docs/events_mapping.html +++ b/gencode/docs/events_mapping.html @@ -466,6 +466,11 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 +
@@ -1700,7 +1705,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -1740,7 +1745,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -1780,7 +1785,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1820,7 +1825,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -1860,7 +1865,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -1900,7 +1905,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -1940,7 +1945,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -1980,7 +1985,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2020,7 +2025,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2060,7 +2065,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2100,7 +2105,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2140,7 +2145,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2180,7 +2185,47 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 2179d923dc..c63ba6bc0e 100644 --- a/gencode/docs/events_system.html +++ b/gencode/docs/events_system.html @@ -585,6 +585,11 @@

id="logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#logentries_items_category_oneOf_i42')" >Option 43 +
@@ -2036,7 +2041,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2083,7 +2088,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2130,7 +2135,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2177,7 +2182,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2224,7 +2229,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2271,7 +2276,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2318,7 +2323,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2365,7 +2370,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2412,7 +2417,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2459,7 +2464,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2506,7 +2511,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2553,7 +2558,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2600,7 +2605,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 baa1b48750..72114bf3ac 100644 --- a/gencode/docs/events_udmi.html +++ b/gencode/docs/events_udmi.html @@ -513,6 +513,11 @@

id="logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#logentries_items_category_oneOf_i42')" >Option 43 +
@@ -1964,7 +1969,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2011,7 +2016,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2058,7 +2063,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2105,7 +2110,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2152,7 +2157,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2199,7 +2204,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2246,7 +2251,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2293,7 +2298,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2340,7 +2345,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2387,7 +2392,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2434,7 +2439,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2481,7 +2486,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2528,7 +2533,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 c6db71b06d..6b4ab7f830 100644 --- a/gencode/docs/events_validation.html +++ b/gencode/docs/events_validation.html @@ -534,6 +534,11 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 +
@@ -1768,7 +1773,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -1808,7 +1813,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -1848,7 +1853,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -1888,7 +1893,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -1928,7 +1933,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -1968,7 +1973,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2008,7 +2013,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2048,7 +2053,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2088,7 +2093,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2128,7 +2133,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2168,7 +2173,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2208,7 +2213,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2248,7 +2253,47 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -2959,6 +3004,11 @@

id="errors_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_errors_items_category_oneOf_i42" role="tab" onclick="setAnchor('#errors_items_category_oneOf_i42')" >Option 43 +
@@ -4410,7 +4460,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -4457,7 +4507,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -4504,7 +4554,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -4551,7 +4601,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -4598,7 +4648,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -4645,7 +4695,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -4692,7 +4742,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -4739,7 +4789,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -4786,7 +4836,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -4833,7 +4883,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -4880,7 +4930,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -4927,7 +4977,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -4974,7 +5024,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 67e2ad7a55..bd2b95789f 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -8447,6 +8447,11 @@

id="pointset_points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#pointset_points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -10766,7 +10771,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -10841,7 +10846,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -10916,7 +10921,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -10991,7 +10996,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -11066,7 +11071,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -11141,7 +11146,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -11216,7 +11221,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -11291,7 +11296,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -11366,7 +11371,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -11441,7 +11446,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -11516,7 +11521,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -11591,7 +11596,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -11666,7 +11671,82 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13553,6 +13633,11 @@

id="structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#structure_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -15221,7 +15306,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -15275,7 +15360,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -15329,7 +15414,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -15383,7 +15468,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -15437,7 +15522,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -15491,7 +15576,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -15545,7 +15630,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -15599,7 +15684,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -15653,7 +15738,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -15707,7 +15792,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -15761,7 +15846,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -15815,7 +15900,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -15869,7 +15954,61 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -23106,6 +23245,11 @@

id="structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -25642,7 +25786,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -25724,7 +25868,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -25806,7 +25950,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -25888,7 +26032,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -25970,7 +26114,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -26052,7 +26196,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -26134,7 +26278,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -26216,7 +26360,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -26298,7 +26442,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -26380,7 +26524,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -26462,7 +26606,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -26544,7 +26688,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -26626,7 +26770,89 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -28923,6 +29149,11 @@

id="structure_pattern1_refs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#structure_pattern1_refs_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -31025,7 +31256,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -31093,7 +31324,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -31161,7 +31392,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -31229,7 +31460,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -31297,7 +31528,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -31365,7 +31596,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -31433,7 +31664,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -31501,7 +31732,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -31569,7 +31800,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -31637,7 +31868,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -31705,7 +31936,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -31773,7 +32004,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -31841,7 +32072,75 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/monitoring.html b/gencode/docs/monitoring.html index 83234d2526..a490a33bc9 100644 --- a/gencode/docs/monitoring.html +++ b/gencode/docs/monitoring.html @@ -782,6 +782,11 @@

id="metric_system_logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_metric_system_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#metric_system_logentries_items_category_oneOf_i42')" >Option 43 +
@@ -2667,7 +2672,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2728,7 +2733,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2789,7 +2794,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2850,7 +2855,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2911,7 +2916,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2972,7 +2977,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -3033,7 +3038,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -3094,7 +3099,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -3155,7 +3160,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -3216,7 +3221,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -3277,7 +3282,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -3338,7 +3343,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -3399,7 +3404,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/state.html b/gencode/docs/state.html index 3bdab3c503..46d5fa3254 100644 --- a/gencode/docs/state.html +++ b/gencode/docs/state.html @@ -1312,6 +1312,11 @@

id="system_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_system_status_category_oneOf_i42" role="tab" onclick="setAnchor('#system_status_category_oneOf_i42')" >Option 43 +
@@ -2763,7 +2768,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2810,7 +2815,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2857,7 +2862,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2904,7 +2909,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2951,7 +2956,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2998,7 +3003,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -3045,7 +3050,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -3092,7 +3097,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -3139,7 +3144,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -3186,7 +3191,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -3233,7 +3238,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -3280,7 +3285,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -3327,7 +3332,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -3882,6 +3934,11 @@

id="gateway_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_gateway_status_category_oneOf_i42" role="tab" onclick="setAnchor('#gateway_status_category_oneOf_i42')" >Option 43 +
@@ -5333,7 +5390,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -5380,7 +5437,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -5427,7 +5484,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -5474,7 +5531,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -5521,7 +5578,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -5568,7 +5625,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -5615,7 +5672,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -5662,7 +5719,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -5709,7 +5766,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -5756,7 +5813,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -5803,7 +5860,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -5850,7 +5907,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -5897,7 +5954,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -6947,6 +7051,11 @@

id="discovery_families_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_families_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_families_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -8832,7 +8941,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -8893,7 +9002,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -8954,7 +9063,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -9015,7 +9124,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -9076,7 +9185,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -9137,7 +9246,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -9198,7 +9307,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -9259,7 +9368,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -9320,7 +9429,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -9381,7 +9490,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -9442,7 +9551,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -9503,7 +9612,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -9564,7 +9673,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -10350,6 +10520,11 @@

id="localnet_families_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_localnet_families_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#localnet_families_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -12235,7 +12410,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -12296,7 +12471,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -12357,7 +12532,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -12418,7 +12593,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -12479,7 +12654,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -12540,7 +12715,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -12601,7 +12776,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -12662,7 +12837,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -12723,7 +12898,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -12784,7 +12959,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -12845,7 +13020,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -12906,7 +13081,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -12967,7 +13142,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13759,6 +13995,11 @@

id="blobset_blobs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_blobset_blobs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#blobset_blobs_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -15644,7 +15885,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -15705,7 +15946,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -15766,7 +16007,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -15827,7 +16068,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -15888,7 +16129,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -15949,7 +16190,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -16010,7 +16251,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -16071,7 +16312,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -16132,7 +16373,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -16193,7 +16434,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -16254,7 +16495,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -16315,7 +16556,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -16376,7 +16617,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -17068,6 +17370,11 @@

id="pointset_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_pointset_status_category_oneOf_i42" role="tab" onclick="setAnchor('#pointset_status_category_oneOf_i42')" >Option 43 +
@@ -18519,7 +18826,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -18566,7 +18873,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -18613,7 +18920,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -18660,7 +18967,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -18707,7 +19014,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -18754,7 +19061,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -18801,7 +19108,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -18848,7 +19155,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -18895,7 +19202,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -18942,7 +19249,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -18989,7 +19296,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -19036,7 +19343,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -19083,7 +19390,54 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -19860,6 +20214,11 @@

id="pointset_points_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_pointset_points_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#pointset_points_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -21745,7 +22104,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -21806,7 +22165,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -21867,7 +22226,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -21928,7 +22287,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -21989,7 +22348,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -22050,7 +22409,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -22111,7 +22470,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -22172,7 +22531,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -22233,7 +22592,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -22294,7 +22653,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -22355,7 +22714,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -22416,7 +22775,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -22477,7 +22836,68 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 0a1e057d69..22f2de9f47 100644 --- a/gencode/docs/state_mapping.html +++ b/gencode/docs/state_mapping.html @@ -812,6 +812,11 @@

id="devices_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_devices_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#devices_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -2480,7 +2485,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2534,7 +2539,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2588,7 +2593,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2642,7 +2647,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2696,7 +2701,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2750,7 +2755,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2804,7 +2809,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2858,7 +2863,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2912,7 +2917,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2966,7 +2971,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -3020,7 +3025,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -3074,7 +3079,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -3128,7 +3133,61 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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 2674a7ca2b..8e6e6abd80 100644 --- a/gencode/docs/state_validation.html +++ b/gencode/docs/state_validation.html @@ -1048,6 +1048,11 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 +
@@ -2282,7 +2287,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -2322,7 +2327,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -2362,7 +2367,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -2402,7 +2407,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -2442,7 +2447,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -2482,7 +2487,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -2522,7 +2527,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -2562,7 +2567,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2602,7 +2607,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -2642,7 +2647,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -2682,7 +2687,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2722,7 +2727,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2762,7 +2767,47 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -4072,6 +4117,11 @@

id="features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -6608,7 +6658,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -6690,7 +6740,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -6772,7 +6822,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -6854,7 +6904,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -6936,7 +6986,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -7018,7 +7068,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -7100,7 +7150,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -7182,7 +7232,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -7264,7 +7314,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -7346,7 +7396,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -7428,7 +7478,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -7510,7 +7560,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -7592,7 +7642,89 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -8487,6 +8619,11 @@

id="features_pattern1_sequences_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#features_pattern1_sequences_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -10589,7 +10726,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -10657,7 +10794,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -10725,7 +10862,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -10793,7 +10930,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -10861,7 +10998,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -10929,7 +11066,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -10997,7 +11134,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -11065,7 +11202,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -11133,7 +11270,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -11201,7 +11338,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -11269,7 +11406,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -11337,7 +11474,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -11405,7 +11542,75 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13090,6 +13295,11 @@

id="schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -15626,7 +15836,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -15708,7 +15918,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -15790,7 +16000,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -15872,7 +16082,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -15954,7 +16164,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -16036,7 +16246,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -16118,7 +16328,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -16200,7 +16410,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -16282,7 +16492,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -16364,7 +16574,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -16446,7 +16656,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -16528,7 +16738,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -16610,7 +16820,89 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -17505,6 +17797,11 @@

id="schemas_pattern1_sequences_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#schemas_pattern1_sequences_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -19607,7 +19904,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -19675,7 +19972,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -19743,7 +20040,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -19811,7 +20108,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -19879,7 +20176,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -19947,7 +20244,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -20015,7 +20312,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -20083,7 +20380,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -20151,7 +20448,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -20219,7 +20516,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -20287,7 +20584,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -20355,7 +20652,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -20423,7 +20720,75 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^validation\.feature\.capability$ + + + + + + +
+ + + Type: object
+Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -21727,6 +22092,11 @@

id="devices_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_devices_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#devices_pattern1_status_category_oneOf_i42')" >Option 43 +
@@ -23395,7 +23765,7 @@

/> item 30

Type: object
-Must match regular expression: ^blobset\.blob\.verify\.compatibility$ +Must match regular expression: ^blobset\.blob\.verify\.incompatible$ @@ -23449,7 +23819,7 @@

/> item 31

Type: object
-Must match regular expression: ^blobset\.blob\.apply$ +Must match regular expression: ^blobset\.blob\.verify\.dependency$ @@ -23503,7 +23873,7 @@

/> item 32

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^blobset\.blob\.apply$ @@ -23557,7 +23927,7 @@

/> item 33Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^blobset\.blob\.abort$ @@ -23611,7 +23981,7 @@

/> item 34Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.receive$ @@ -23665,7 +24035,7 @@

/> item 35Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.schema$ @@ -23719,7 +24089,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.content$ @@ -23773,7 +24143,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.device\.multiple$ @@ -23827,7 +24197,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.device\.extra$ @@ -23881,7 +24251,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.summary\.report$ @@ -23935,7 +24305,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -23989,7 +24359,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.capability$ +Must match regular expression: ^validation\.feature\.schema$ @@ -24043,7 +24413,61 @@

/> item 42Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +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/Category.java b/gencode/java/udmi/schema/Category.java index 501c316327..24f16a0906 100644 --- a/gencode/java/udmi/schema/Category.java +++ b/gencode/java/udmi/schema/Category.java @@ -195,11 +195,17 @@ public class Category { public static final int BLOBSET_BLOB_VERIFY_HASH_VALUE = ERROR.value(); static { LEVEL.put(BLOBSET_BLOB_VERIFY_HASH, ERROR); } - // Hardware or dependency mismatch - public static final String BLOBSET_BLOB_VERIFY_COMPATIBILITY = "blobset.blob.verify.compatibility"; - public static final Level BLOBSET_BLOB_VERIFY_COMPATIBILITY_LEVEL = ERROR; - public static final int BLOBSET_BLOB_VERIFY_COMPATIBILITY_VALUE = ERROR.value(); - static { LEVEL.put(BLOBSET_BLOB_VERIFY_COMPATIBILITY, ERROR); } + // Blob is incompatible with the device + public static final String BLOBSET_BLOB_VERIFY_INCOMPATIBLE = "blobset.blob.verify.incompatible"; + public static final Level BLOBSET_BLOB_VERIFY_INCOMPATIBLE_LEVEL = ERROR; + public static final int BLOBSET_BLOB_VERIFY_INCOMPATIBLE_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_VERIFY_INCOMPATIBLE, ERROR); } + + // Expected software dependencies not found + public static final String BLOBSET_BLOB_VERIFY_DEPENDENCY = "blobset.blob.verify.dependency"; + public static final Level BLOBSET_BLOB_VERIFY_DEPENDENCY_LEVEL = ERROR; + public static final int BLOBSET_BLOB_VERIFY_DEPENDENCY_VALUE = ERROR.value(); + static { LEVEL.put(BLOBSET_BLOB_VERIFY_DEPENDENCY, ERROR); } // Applying a blob update public static final String BLOBSET_BLOB_APPLY = "blobset.blob.apply"; diff --git a/gencode/java/udmi/schema/PubberOptions.java b/gencode/java/udmi/schema/PubberOptions.java index 4ea29397b9..9a0b73d859 100644 --- a/gencode/java/udmi/schema/PubberOptions.java +++ b/gencode/java/udmi/schema/PubberOptions.java @@ -54,7 +54,9 @@ "fixedLogLevel", "fastWrite", "delayWrite", - "softwareFirmwareValue" + "softwareFirmwareValue", + "hardwareIncompatible", + "softwareDependencyMismatch" }) public class PubberOptions { @@ -158,6 +160,20 @@ public class PubberOptions { public Boolean delayWrite; @JsonProperty("softwareFirmwareValue") public String softwareFirmwareValue; + /** + * If true, the pubber will simulate a physical hardware mismatch during OTA update. + * + */ + @JsonProperty("hardwareIncompatible") + @JsonPropertyDescription("If true, the pubber will simulate a physical hardware mismatch during OTA update.") + public Boolean hardwareIncompatible; + /** + * If true, the pubber will simulate a temporal software dependency mismatch during OTA update. + * + */ + @JsonProperty("softwareDependencyMismatch") + @JsonPropertyDescription("If true, the pubber will simulate a temporal software dependency mismatch during OTA update.") + public Boolean softwareDependencyMismatch; @Override public int hashCode() { @@ -190,6 +206,7 @@ public int hashCode() { result = ((result* 31)+((this.redirectRegistry == null)? 0 :this.redirectRegistry.hashCode())); result = ((result* 31)+((this.noPointState == null)? 0 :this.noPointState.hashCode())); result = ((result* 31)+((this.disableWriteback == null)? 0 :this.disableWriteback.hashCode())); + result = ((result* 31)+((this.softwareDependencyMismatch == null)? 0 :this.softwareDependencyMismatch.hashCode())); result = ((result* 31)+((this.barfConfig == null)? 0 :this.barfConfig.hashCode())); result = ((result* 31)+((this.extraField == null)? 0 :this.extraField.hashCode())); result = ((result* 31)+((this.emptyMissing == null)? 0 :this.emptyMissing.hashCode())); @@ -198,6 +215,7 @@ public int hashCode() { result = ((result* 31)+((this.featureEnableSwap == null)? 0 :this.featureEnableSwap.hashCode())); result = ((result* 31)+((this.delayWrite == null)? 0 :this.delayWrite.hashCode())); result = ((result* 31)+((this.extraDevice == null)? 0 :this.extraDevice.hashCode())); + result = ((result* 31)+((this.hardwareIncompatible == null)? 0 :this.hardwareIncompatible.hashCode())); result = ((result* 31)+((this.noConfigAck == null)? 0 :this.noConfigAck.hashCode())); result = ((result* 31)+((this.badVersion == null)? 0 :this.badVersion.hashCode())); result = ((result* 31)+((this.fixedLogLevel == null)? 0 :this.fixedLogLevel.hashCode())); @@ -214,7 +232,7 @@ public boolean equals(Object other) { return false; } PubberOptions rhs = ((PubberOptions) other); - return (((((((((((((((((((((((((((((((((((((((((this.skewClock == rhs.skewClock)||((this.skewClock!= null)&&this.skewClock.equals(rhs.skewClock)))&&((this.noPersist == rhs.noPersist)||((this.noPersist!= null)&&this.noPersist.equals(rhs.noPersist))))&&((this.noLastConfig == rhs.noLastConfig)||((this.noLastConfig!= null)&&this.noLastConfig.equals(rhs.noLastConfig))))&&((this.noLog == rhs.noLog)||((this.noLog!= null)&&this.noLog.equals(rhs.noLog))))&&((this.noHardware == rhs.noHardware)||((this.noHardware!= null)&&this.noHardware.equals(rhs.noHardware))))&&((this.messageTrace == rhs.messageTrace)||((this.messageTrace!= null)&&this.messageTrace.equals(rhs.messageTrace))))&&((this.softwareFirmwareValue == rhs.softwareFirmwareValue)||((this.softwareFirmwareValue!= null)&&this.softwareFirmwareValue.equals(rhs.softwareFirmwareValue))))&&((this.noWriteback == rhs.noWriteback)||((this.noWriteback!= null)&&this.noWriteback.equals(rhs.noWriteback))))&&((this.msTimestamp == rhs.msTimestamp)||((this.msTimestamp!= null)&&this.msTimestamp.equals(rhs.msTimestamp))))&&((this.noLastStart == rhs.noLastStart)||((this.noLastStart!= null)&&this.noLastStart.equals(rhs.noLastStart))))&&((this.badLevel == rhs.badLevel)||((this.badLevel!= null)&&this.badLevel.equals(rhs.badLevel))))&&((this.tweakState == rhs.tweakState)||((this.tweakState!= null)&&this.tweakState.equals(rhs.tweakState))))&&((this.spamState == rhs.spamState)||((this.spamState!= null)&&this.spamState.equals(rhs.spamState))))&&((this.noState == rhs.noState)||((this.noState!= null)&&this.noState.equals(rhs.noState))))&&((this.badState == rhs.badState)||((this.badState!= null)&&this.badState.equals(rhs.badState))))&&((this.baseState == rhs.baseState)||((this.baseState!= null)&&this.baseState.equals(rhs.baseState))))&&((this.noStatus == rhs.noStatus)||((this.noStatus!= null)&&this.noStatus.equals(rhs.noStatus))))&&((this.fastWrite == rhs.fastWrite)||((this.fastWrite!= null)&&this.fastWrite.equals(rhs.fastWrite))))&&((this.noFolder == rhs.noFolder)||((this.noFolder!= null)&&this.noFolder.equals(rhs.noFolder))))&&((this.noProxy == rhs.noProxy)||((this.noProxy!= null)&&this.noProxy.equals(rhs.noProxy))))&&((this.missingPoint == rhs.missingPoint)||((this.missingPoint!= null)&&this.missingPoint.equals(rhs.missingPoint))))&&((this.badCategory == rhs.badCategory)||((this.badCategory!= null)&&this.badCategory.equals(rhs.badCategory))))&&((this.extraPoint == rhs.extraPoint)||((this.extraPoint!= null)&&this.extraPoint.equals(rhs.extraPoint))))&&((this.badAddr == rhs.badAddr)||((this.badAddr!= null)&&this.badAddr.equals(rhs.badAddr))))&&((this.smokeCheck == rhs.smokeCheck)||((this.smokeCheck!= null)&&this.smokeCheck.equals(rhs.smokeCheck))))&&((this.redirectRegistry == rhs.redirectRegistry)||((this.redirectRegistry!= null)&&this.redirectRegistry.equals(rhs.redirectRegistry))))&&((this.noPointState == rhs.noPointState)||((this.noPointState!= null)&&this.noPointState.equals(rhs.noPointState))))&&((this.disableWriteback == rhs.disableWriteback)||((this.disableWriteback!= null)&&this.disableWriteback.equals(rhs.disableWriteback))))&&((this.barfConfig == rhs.barfConfig)||((this.barfConfig!= null)&&this.barfConfig.equals(rhs.barfConfig))))&&((this.extraField == rhs.extraField)||((this.extraField!= null)&&this.extraField.equals(rhs.extraField))))&&((this.emptyMissing == rhs.emptyMissing)||((this.emptyMissing!= null)&&this.emptyMissing.equals(rhs.emptyMissing))))&&((this.fixedSampleRate == rhs.fixedSampleRate)||((this.fixedSampleRate!= null)&&this.fixedSampleRate.equals(rhs.fixedSampleRate))))&&((this.dupeState == rhs.dupeState)||((this.dupeState!= null)&&this.dupeState.equals(rhs.dupeState))))&&((this.featureEnableSwap == rhs.featureEnableSwap)||((this.featureEnableSwap!= null)&&this.featureEnableSwap.equals(rhs.featureEnableSwap))))&&((this.delayWrite == rhs.delayWrite)||((this.delayWrite!= null)&&this.delayWrite.equals(rhs.delayWrite))))&&((this.extraDevice == rhs.extraDevice)||((this.extraDevice!= null)&&this.extraDevice.equals(rhs.extraDevice))))&&((this.noConfigAck == rhs.noConfigAck)||((this.noConfigAck!= null)&&this.noConfigAck.equals(rhs.noConfigAck))))&&((this.badVersion == rhs.badVersion)||((this.badVersion!= null)&&this.badVersion.equals(rhs.badVersion))))&&((this.fixedLogLevel == rhs.fixedLogLevel)||((this.fixedLogLevel!= null)&&this.fixedLogLevel.equals(rhs.fixedLogLevel))))&&((this.configStateDelay == rhs.configStateDelay)||((this.configStateDelay!= null)&&this.configStateDelay.equals(rhs.configStateDelay)))); + return (((((((((((((((((((((((((((((((((((((((((((this.skewClock == rhs.skewClock)||((this.skewClock!= null)&&this.skewClock.equals(rhs.skewClock)))&&((this.noPersist == rhs.noPersist)||((this.noPersist!= null)&&this.noPersist.equals(rhs.noPersist))))&&((this.noLastConfig == rhs.noLastConfig)||((this.noLastConfig!= null)&&this.noLastConfig.equals(rhs.noLastConfig))))&&((this.noLog == rhs.noLog)||((this.noLog!= null)&&this.noLog.equals(rhs.noLog))))&&((this.noHardware == rhs.noHardware)||((this.noHardware!= null)&&this.noHardware.equals(rhs.noHardware))))&&((this.messageTrace == rhs.messageTrace)||((this.messageTrace!= null)&&this.messageTrace.equals(rhs.messageTrace))))&&((this.softwareFirmwareValue == rhs.softwareFirmwareValue)||((this.softwareFirmwareValue!= null)&&this.softwareFirmwareValue.equals(rhs.softwareFirmwareValue))))&&((this.noWriteback == rhs.noWriteback)||((this.noWriteback!= null)&&this.noWriteback.equals(rhs.noWriteback))))&&((this.msTimestamp == rhs.msTimestamp)||((this.msTimestamp!= null)&&this.msTimestamp.equals(rhs.msTimestamp))))&&((this.noLastStart == rhs.noLastStart)||((this.noLastStart!= null)&&this.noLastStart.equals(rhs.noLastStart))))&&((this.badLevel == rhs.badLevel)||((this.badLevel!= null)&&this.badLevel.equals(rhs.badLevel))))&&((this.tweakState == rhs.tweakState)||((this.tweakState!= null)&&this.tweakState.equals(rhs.tweakState))))&&((this.spamState == rhs.spamState)||((this.spamState!= null)&&this.spamState.equals(rhs.spamState))))&&((this.noState == rhs.noState)||((this.noState!= null)&&this.noState.equals(rhs.noState))))&&((this.badState == rhs.badState)||((this.badState!= null)&&this.badState.equals(rhs.badState))))&&((this.baseState == rhs.baseState)||((this.baseState!= null)&&this.baseState.equals(rhs.baseState))))&&((this.noStatus == rhs.noStatus)||((this.noStatus!= null)&&this.noStatus.equals(rhs.noStatus))))&&((this.fastWrite == rhs.fastWrite)||((this.fastWrite!= null)&&this.fastWrite.equals(rhs.fastWrite))))&&((this.noFolder == rhs.noFolder)||((this.noFolder!= null)&&this.noFolder.equals(rhs.noFolder))))&&((this.noProxy == rhs.noProxy)||((this.noProxy!= null)&&this.noProxy.equals(rhs.noProxy))))&&((this.missingPoint == rhs.missingPoint)||((this.missingPoint!= null)&&this.missingPoint.equals(rhs.missingPoint))))&&((this.badCategory == rhs.badCategory)||((this.badCategory!= null)&&this.badCategory.equals(rhs.badCategory))))&&((this.extraPoint == rhs.extraPoint)||((this.extraPoint!= null)&&this.extraPoint.equals(rhs.extraPoint))))&&((this.badAddr == rhs.badAddr)||((this.badAddr!= null)&&this.badAddr.equals(rhs.badAddr))))&&((this.smokeCheck == rhs.smokeCheck)||((this.smokeCheck!= null)&&this.smokeCheck.equals(rhs.smokeCheck))))&&((this.redirectRegistry == rhs.redirectRegistry)||((this.redirectRegistry!= null)&&this.redirectRegistry.equals(rhs.redirectRegistry))))&&((this.noPointState == rhs.noPointState)||((this.noPointState!= null)&&this.noPointState.equals(rhs.noPointState))))&&((this.disableWriteback == rhs.disableWriteback)||((this.disableWriteback!= null)&&this.disableWriteback.equals(rhs.disableWriteback))))&&((this.softwareDependencyMismatch == rhs.softwareDependencyMismatch)||((this.softwareDependencyMismatch!= null)&&this.softwareDependencyMismatch.equals(rhs.softwareDependencyMismatch))))&&((this.barfConfig == rhs.barfConfig)||((this.barfConfig!= null)&&this.barfConfig.equals(rhs.barfConfig))))&&((this.extraField == rhs.extraField)||((this.extraField!= null)&&this.extraField.equals(rhs.extraField))))&&((this.emptyMissing == rhs.emptyMissing)||((this.emptyMissing!= null)&&this.emptyMissing.equals(rhs.emptyMissing))))&&((this.fixedSampleRate == rhs.fixedSampleRate)||((this.fixedSampleRate!= null)&&this.fixedSampleRate.equals(rhs.fixedSampleRate))))&&((this.dupeState == rhs.dupeState)||((this.dupeState!= null)&&this.dupeState.equals(rhs.dupeState))))&&((this.featureEnableSwap == rhs.featureEnableSwap)||((this.featureEnableSwap!= null)&&this.featureEnableSwap.equals(rhs.featureEnableSwap))))&&((this.delayWrite == rhs.delayWrite)||((this.delayWrite!= null)&&this.delayWrite.equals(rhs.delayWrite))))&&((this.extraDevice == rhs.extraDevice)||((this.extraDevice!= null)&&this.extraDevice.equals(rhs.extraDevice))))&&((this.hardwareIncompatible == rhs.hardwareIncompatible)||((this.hardwareIncompatible!= null)&&this.hardwareIncompatible.equals(rhs.hardwareIncompatible))))&&((this.noConfigAck == rhs.noConfigAck)||((this.noConfigAck!= null)&&this.noConfigAck.equals(rhs.noConfigAck))))&&((this.badVersion == rhs.badVersion)||((this.badVersion!= null)&&this.badVersion.equals(rhs.badVersion))))&&((this.fixedLogLevel == rhs.fixedLogLevel)||((this.fixedLogLevel!= null)&&this.fixedLogLevel.equals(rhs.fixedLogLevel))))&&((this.configStateDelay == rhs.configStateDelay)||((this.configStateDelay!= null)&&this.configStateDelay.equals(rhs.configStateDelay)))); } } diff --git a/gencode/python/udmi/schema/category.py b/gencode/python/udmi/schema/category.py index c46a3bae4a..47ab2c2da4 100644 --- a/gencode/python/udmi/schema/category.py +++ b/gencode/python/udmi/schema/category.py @@ -101,8 +101,11 @@ class Category(Enum): # Blob hash mismatch BLOBSET_BLOB_VERIFY_HASH = ("blobset.blob.verify.hash", Level.ERROR) - # Hardware or dependency mismatch - BLOBSET_BLOB_VERIFY_COMPATIBILITY = ("blobset.blob.verify.compatibility", Level.ERROR) + # Blob is incompatible with the device + BLOBSET_BLOB_VERIFY_INCOMPATIBLE = ("blobset.blob.verify.incompatible", Level.ERROR) + + # Expected software dependencies not found + BLOBSET_BLOB_VERIFY_DEPENDENCY = ("blobset.blob.verify.dependency", Level.ERROR) # Applying a blob update BLOBSET_BLOB_APPLY = ("blobset.blob.apply", Level.NOTICE) diff --git a/gencode/python/udmi/schema/options_pubber.py b/gencode/python/udmi/schema/options_pubber.py index f8a26db8e9..420c8e7323 100644 --- a/gencode/python/udmi/schema/options_pubber.py +++ b/gencode/python/udmi/schema/options_pubber.py @@ -55,3 +55,5 @@ class PubberOptions(DataModel): fastWrite: Optional[bool] = None delayWrite: Optional[bool] = None softwareFirmwareValue: Optional[str] = None + hardwareIncompatible: Optional[bool] = None + softwareDependencyMismatch: Optional[bool] = None diff --git a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java new file mode 100644 index 0000000000..5080004998 --- /dev/null +++ b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java @@ -0,0 +1,114 @@ +package daq.pubber.impl.host; + +import java.io.File; +import java.util.function.Consumer; +import org.apache.commons.io.FileUtils; + +import static java.lang.String.format; +import static com.google.udmi.util.JsonUtil.safeSleep; +import static com.google.udmi.util.GeneralUtils.isTrue; + +import udmi.lib.base.UdmiException.BlobDependencyMismatchException; +import udmi.lib.base.UdmiException.BlobIncompatibleException; +import udmi.schema.PubberOptions; + +public class MockGitModuleEmulator { + + + private final File repoDir; + private final Consumer infoLogger; + private final Consumer noticeLogger; + private final Consumer errorLogger; + private final PubberOptions options; + private boolean inMemoryFallback = false; + + public MockGitModuleEmulator(String softwareModuleDir, PubberOptions options, + Consumer infoLogger, Consumer noticeLogger, Consumer errorLogger) { + this.repoDir = new File(softwareModuleDir); + this.options = options; + this.infoLogger = infoLogger; + this.noticeLogger = noticeLogger; + this.errorLogger = errorLogger; + } + + public void initModuleForOtaUpdates() { + try { + if (repoDir.exists()) { + FileUtils.deleteDirectory(repoDir); + } + if (!repoDir.mkdirs()) { + throw new RuntimeException("Failed to create source directory"); + } + + infoLogger.accept(format("Initializing mock module in %s", repoDir.getAbsolutePath())); + try { + runCommandInDir(repoDir, "git", "init"); + runCommandInDir(repoDir, "git", "config", "user.name", "Pubber"); + runCommandInDir(repoDir, "git", "config", "user.email", "pubber@udmi.io"); + + File versionFile = new File(repoDir, "version.txt"); + FileUtils.writeStringToFile(versionFile, "v1", "UTF-8"); + runCommandInDir(repoDir, "git", "add", "."); + runCommandInDir(repoDir, "git", "commit", "-m", "v1"); + runCommandInDir(repoDir, "git", "tag", "v1"); + + FileUtils.writeStringToFile(versionFile, "v2", "UTF-8"); + runCommandInDir(repoDir, "git", "add", "."); + runCommandInDir(repoDir, "git", "commit", "-m", "v2"); + runCommandInDir(repoDir, "git", "tag", "v2"); + infoLogger.accept("Isolated repo initialized successfully."); + } catch (Exception e) { + infoLogger.accept( + "Git execution failed on host. Falling back to abstract in-memory logic."); + inMemoryFallback = true; + } + } catch (Exception e) { + errorLogger.accept("While initializing isolated repo: " + e.getMessage()); + } + } + + public void handleOtaUpdate(String payload) { + if (isTrue(options.hardwareIncompatible)) { + safeSleep(2000); + throw new BlobIncompatibleException("Hardware incompatible static failure intentions"); + } + if (isTrue(options.softwareDependencyMismatch)) { + safeSleep(2000); + throw new BlobDependencyMismatchException( + "Software dependencies temporal temporal prerequisite intentions"); + } + String commitHash = payload.trim(); + infoLogger.accept(format("Triggering mock OTA update to commit %s", commitHash)); + + if (inMemoryFallback) { + infoLogger.accept("Simulating OTA update delay in-memory..."); + safeSleep(2000); + noticeLogger.accept("Mock Git OTA update completed abstractly."); + return; + } + + if (!repoDir.exists()) { + throw new RuntimeException("Isolated repo directory not found"); + } + + try { + infoLogger.accept("Simulating OTA update delay..."); + safeSleep(2000); + runCommandInDir(repoDir, "git", "checkout", commitHash); + noticeLogger.accept("Git OTA update completed successfully."); + } catch (Exception e) { + throw new RuntimeException("Git operation failed", e); + } + } + + private void runCommandInDir(File dir, String... command) throws Exception { + ProcessBuilder pb = new ProcessBuilder(command); + pb.directory(dir); + pb.redirectErrorStream(true); + Process p = pb.start(); + int exitCode = p.waitFor(); + if (exitCode != 0) { + throw new RuntimeException(format("Command failed with exit code %d", exitCode)); + } + } +} 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 7e9a44c9c6..311bd7b15f 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -37,14 +37,12 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.function.Consumer; -import org.apache.commons.io.FileUtils; import udmi.lib.base.MqttDevice; 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.Category; import udmi.schema.DevicePersistent; import udmi.schema.EndpointConfiguration; import udmi.schema.Metadata; @@ -60,6 +58,7 @@ public class PubberPublisherHost extends PubberManager implements PublisherHost private PubberDeviceManager deviceManager; private SiteModel siteModel; + private MockGitModuleEmulator moduleEmulator; /** * Start an instance from a configuration file. @@ -124,107 +123,40 @@ public void initializeDevice() { } private void initModuleForOtaUpdates() { - try { - File srcDir = new File(SOFTWARE_MODULE_DIR); - if (srcDir.exists()) { - FileUtils.deleteDirectory(srcDir); - } - - if (!srcDir.mkdirs()) { - throw new RuntimeException("Failed to create source directory"); - } - - info(format("Initializing dummy module in %s", srcDir.getAbsolutePath())); - runCommandInDir(srcDir, "git", "init"); - runCommandInDir(srcDir, "git", "config", "user.name", "Pubber"); - runCommandInDir(srcDir, "git", "config", "user.email", "pubber@udmi.io"); - - File versionFile = new File(srcDir, "version.txt"); - FileUtils.writeStringToFile(versionFile, "v1", "UTF-8"); - runCommandInDir(srcDir, "git", "add", "."); - runCommandInDir(srcDir, "git", "commit", "-m", "v1"); - runCommandInDir(srcDir, "git", "tag", "v1"); - - FileUtils.writeStringToFile(versionFile, "v2", "UTF-8"); - runCommandInDir(srcDir, "git", "add", "."); - runCommandInDir(srcDir, "git", "commit", "-m", "v2"); - runCommandInDir(srcDir, "git", "tag", "v2"); - info("Isolated repo initialized."); - } catch (Exception e) { - error("While initializing isolated repo", e); - } + String dynamicDir = "out/pubber_module_repo_" + config.serialNo; + moduleEmulator = new MockGitModuleEmulator(dynamicDir, config.options, + this::info, this::notice, this::error); + moduleEmulator.initModuleForOtaUpdates(); } - private Consumer getBlobHandler(String blobKey) { + private Consumer getBlobHandler(String blobName) { return Map.>of( SOFTWARE_MODULE_KEY, this::handleOtaUpdate - ).get(blobKey); + ).get(blobName); } @Override - public boolean isSupportedBlob(String blobKey) { - return getBlobHandler(blobKey) != null; + public boolean isSupportedBlob(String blobName) { + return getBlobHandler(blobName) != null; } - - @Override - public void handleBlob(String blobKey, String payload) { - getBlobHandler(blobKey).accept(payload); + public void installBlobPayload(String blobName, String payload) { + getBlobHandler(blobName).accept(payload); } @Override - public void postHandleBlob(String blobKey) { - if (SOFTWARE_MODULE_KEY.equals(blobKey)) { + public void activateBlob(String blobName) { + if (SOFTWARE_MODULE_KEY.equals(blobName)) { notice("Post-processing Git OTA update. Restarting..."); getDeviceManager().systemLifecycle(Operation.SystemMode.RESTART); } } private void handleOtaUpdate(String payload) { - // Note: The payload is assumed to be the commit hash directly. - // In a real scenario, this would be the content of a downloaded file. - String commitHash = payload.trim(); - info(format("Triggering Git OTA update to commit %s", commitHash)); - - logEvent(Category.BLOBSET_BLOB_APPLY, "Applying Git OTA update to commit " + commitHash); - - File repoDir = new File(SOFTWARE_MODULE_DIR); - if (!repoDir.exists()) { - throw new RuntimeException("Isolated repo directory not found"); - } - - try { - info("Simulating OTA update delay..."); - safeSleep(20000); - runCommandInDir(repoDir, "git", "fetch"); - runCommandInDir(repoDir, "git", "checkout", commitHash); - notice("Git OTA update completed successfully."); - } catch (Exception e) { - throw new RuntimeException("Git operation failed", e); - } + moduleEmulator.handleOtaUpdate(payload); } - private void runCommandInDir(File dir, String... command) throws Exception { - ProcessBuilder pb = new ProcessBuilder(command); - pb.directory(dir); - pb.redirectErrorStream(true); - Process p = pb.start(); - - try (java.io.BufferedReader reader = new java.io.BufferedReader( - new java.io.InputStreamReader(p.getInputStream()))) { - String line; - while ((line = reader.readLine()) != null) { - // Use logger instead of System.out to avoid cluttering console - debug("Git: " + line); - } - } - - int exitCode = p.waitFor(); - if (exitCode != 0) { - throw new RuntimeException(format("Command failed with exit code %d", exitCode)); - } - } @Override public void initializePersistentStore() { 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..f2f6a28298 --- /dev/null +++ b/pubber/src/main/java/udmi/lib/base/UdmiException.java @@ -0,0 +1,23 @@ +package udmi.lib.base; + +public class UdmiException { + + public static class HashMismatchException extends RuntimeException { + public HashMismatchException(String message) { + super(message); + } + } + + public static class BlobIncompatibleException extends RuntimeException { + public BlobIncompatibleException(String message) { + super(message); + } + } + + public static class BlobDependencyMismatchException extends RuntimeException { + public BlobDependencyMismatchException(String message) { + super(message); + } + } + +} 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 ab653551c6..7f85efc1af 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -58,6 +58,9 @@ import udmi.lib.base.GatewayError; import udmi.lib.base.MqttDevice; import udmi.lib.base.MqttPublisher; +import udmi.lib.base.UdmiException.BlobDependencyMismatchException; +import udmi.lib.base.UdmiException.BlobIncompatibleException; +import udmi.lib.base.UdmiException.HashMismatchException; import udmi.lib.client.manager.DeviceManager; import udmi.lib.client.manager.PointsetManager; import udmi.lib.client.manager.SystemManager; @@ -122,6 +125,11 @@ 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 = ImmutableMap.of( + HashMismatchException.class, Category.BLOBSET_BLOB_VERIFY_HASH, + BlobIncompatibleException.class, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, + BlobDependencyMismatchException.class, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY + ); String CORRUPT_STATE_MESSAGE = "!&*@(!*&@!"; /** @@ -134,130 +142,129 @@ static String acquireBlobData(String url, String sha256) { byte[] dataBytes = Base64.getDecoder().decode(url.substring(DATA_URL_JSON_BASE64.length())); String dataSha256 = GeneralUtils.sha256(dataBytes); if (!dataSha256.equals(sha256)) { - throw new RuntimeException("Blob data hash mismatch"); + throw new HashMismatchException("Blob data hash mismatch"); } return new String(dataBytes); } Config getDeviceConfig(); + /** + * Returns the configured blobs or an empty map if no blobs are configured. + */ + default HashMap getBlobs() { + return catchToElse(() -> getDeviceConfig().blobset.blobs, new HashMap<>()); + } + + default BlobBlobsetConfig getConfigBlob(String blobName) { + return getBlobs().get(blobName); + } /** * Extracts the configuration blob with the specified name, if it exists and is in the final * phase. */ - default String extractConfigBlob(String blobName) { + default String extractConfigBlob(String blobName) throws Exception { // TODO: Refactor to get any blob meta parameters. - try { - HashMap blobs = catchToNull(() -> getDeviceConfig().blobset.blobs); - if (blobs == null) { - return null; - } - BlobBlobsetConfig blobBlobsetConfig = blobs.get(blobName); - if (blobBlobsetConfig != null && FINAL.equals(blobBlobsetConfig.phase)) { - return acquireBlobData(blobBlobsetConfig.url, blobBlobsetConfig.sha256); - } - return null; - } catch (Exception e) { - EndpointConfiguration endpointConfiguration = new EndpointConfiguration(); - endpointConfiguration.error = e.toString(); - return stringify(endpointConfiguration); + BlobBlobsetConfig blobBlobsetConfig = getConfigBlob(blobName); + if (blobBlobsetConfig != null && FINAL.equals(blobBlobsetConfig.phase)) { + return acquireBlobData(blobBlobsetConfig.url, blobBlobsetConfig.sha256); } + return null; } + /** - * Processes all blobs in the configuration, skipping system blobs. + * Processes all blobs in the configuration, skipping system blobs (e.g. _iot_endpoint_config). */ - default void processBlobConfig() { - if (getDeviceConfig().blobset == null || getDeviceConfig().blobset.blobs == null) { - return; - } - for (String blobKey : getDeviceConfig().blobset.blobs.keySet()) { - if (Arrays.stream(SystemBlobsets.values()).anyMatch(e -> e.value().equals(blobKey))) { + default void processBlobset() { + for (String blobName : getBlobs().keySet()) { + if (Arrays.stream(SystemBlobsets.values()).anyMatch(e -> e.value().equals(blobName))) { continue; } - if (!isSupportedBlob(blobKey)) { - warn("Skipping unknown blob key: " + blobKey); + if (!isSupportedBlob(blobName)) { + warn("Skipping unknown blob key: " + blobName); continue; } - processBlobConfig(blobKey); + processBlob(blobName); } } /** - * Processes the blob config for a given blob key and handles state transitions. + * Processes the blob config for a given blob name and handles state transitions. */ - default void processBlobConfig(String blobKey) { - if (getDeviceConfig().blobset == null || getDeviceConfig().blobset.blobs == null) { - return; - } - - BlobBlobsetConfig config = getDeviceConfig().blobset.blobs.get(blobKey); + default void processBlob(String blobName) { + BlobBlobsetConfig config = getConfigBlob(blobName); if (config == null) { return; } - BlobBlobsetState state = ensureBlobsetState(blobKey); + BlobBlobsetState state = ensureBlobsetState(blobName); if (config.generation != null && config.generation.equals(state.generation) && BlobPhase.FINAL.equals(state.phase)) { return; } - - logEvent(Category.BLOBSET_BLOB_RECEIVE, "Received blob update config for " + blobKey); + logEvent(Category.BLOBSET_BLOB_RECEIVE, "Received blob update config for " + blobName); try { - // Transition to APPLY state.phase = BlobPhase.APPLY; state.generation = config.generation; publishSynchronousState(); - logEvent(Category.BLOBSET_BLOB_FETCH, "Fetching blob data for " + blobKey); - String payload = extractConfigBlob(blobKey); + logEvent(Category.BLOBSET_BLOB_FETCH, "Fetching blob data for " + blobName); + String payload = extractConfigBlob(blobName); if (payload == null) { - warn(format("Blob %s not ready for extraction", blobKey)); + warn(format("Blob %s not ready for extraction", blobName)); return; } logEvent(Category.BLOBSET_BLOB_FETCH_SUCCESS, - "Successfully fetched blob data for " + blobKey); + "Successfully fetched blob data for " + blobName); - // Apply application-specific logic - handleBlob(blobKey, payload); - - // Transition to FINAL - state.phase = BlobPhase.FINAL; - state.status = null; - notice(format("Blob %s successfully applied", blobKey)); - publishSynchronousState(); - - // Persist applied blob before actions like a restart - persistAppliedBlob(blobKey, isoConvert(config.generation)); - - postHandleBlob(blobKey); + applyBlobPayload(blobName, config, state, payload); } catch (Exception e) { state.phase = BlobPhase.FINAL; state.status = exceptionStatus(e, Category.BLOBSET_BLOB_APPLY); - error(format("Failed to apply blob %s", blobKey), e); + error(format("Failed to apply blob %s", blobName), e); - String category = Category.BLOBSET_BLOB_FETCH_FAILURE; - if (e.getMessage() != null && e.getMessage().contains("hash mismatch")) { - category = Category.BLOBSET_BLOB_VERIFY_HASH; - } - logEvent(category, "For blob key " + blobKey + ":\n", e); + String category = BLOB_ERROR_CATEGORIES.getOrDefault( + e.getClass(), Category.BLOBSET_BLOB_FETCH_FAILURE); + logEvent(category, "For blob key " + blobName + ":\n", e); } finally { publishAsynchronousState(); } } + /** + * Applies the payload for the given blob, setting the proper state transitions and persisting. + */ + default void applyBlobPayload(String blobName, BlobBlobsetConfig config, + BlobBlobsetState state, String payload) { + logEvent(Category.BLOBSET_BLOB_APPLY, "Applying OTA update..."); + installBlobPayload(blobName, payload); + + state.phase = BlobPhase.FINAL; + state.status = null; + notice(format("Blob %s successfully applied", blobName)); + publishSynchronousState(); + + persistAppliedBlob(blobName, isoConvert(config.generation)); + + activateBlob(blobName); + } + /** * Checks if the application supports the given blob key. */ - default boolean isSupportedBlob(String blobKey) { + default boolean isSupportedBlob(String blobName) { return false; } /** * Handles application-specific blob processing. */ - void handleBlob(String blobKey, String payload); + void installBlobPayload(String blobName, String payload); - default void postHandleBlob(String blobKey) { + /** + * Apply blob with actions such as restarts. + */ + default void activateBlob(String blobName) { // Default no-op } @@ -617,7 +624,7 @@ private void processConfigUpdate(Config configMsg) { info(format("%s received config %s", getTimestamp(), isoConvert(configMsg.timestamp))); getDeviceManager().updateConfig(configMsg); extractEndpointBlobConfig(); - processBlobConfig(); + processBlobset(); } else { info(format("%s defaulting empty config", getTimestamp())); } @@ -737,17 +744,21 @@ default EndpointConfiguration extractEndpointBlobConfig() { try { String iotConfig = extractConfigBlob(IOT_ENDPOINT_CONFIG.value()); setExtractedEndpoint(fromJsonString(iotConfig, EndpointConfiguration.class)); - if (getExtractedEndpoint() != null) { - if (getDeviceConfig().blobset.blobs.containsKey(IOT_ENDPOINT_CONFIG.value())) { - BlobBlobsetConfig config = getDeviceConfig() - .blobset.blobs.get(IOT_ENDPOINT_CONFIG.value()); - getExtractedEndpoint().generation = config.generation; - } - } } catch (Exception e) { - throw new RuntimeException("While extracting endpoint blob config", e); + EndpointConfiguration errorConfig = new EndpointConfiguration(); + errorConfig.error = e.toString(); + setExtractedEndpoint(errorConfig); + } + + if (getExtractedEndpoint() != null) { + if (getDeviceConfig().blobset.blobs.containsKey(IOT_ENDPOINT_CONFIG.value())) { + BlobBlobsetConfig config = getDeviceConfig() + .blobset.blobs.get(IOT_ENDPOINT_CONFIG.value()); + getExtractedEndpoint().generation = config.generation; + } } return getExtractedEndpoint(); + } EndpointConfiguration getExtractedEndpoint(); diff --git a/schema/category.json b/schema/category.json index 13d9ba9c32..c3219ccf33 100644 --- a/schema/category.json +++ b/schema/category.json @@ -34,7 +34,8 @@ { "pattern": "^blobset\\.blob\\.fetch\\.failure$" }, { "pattern": "^blobset\\.blob\\.verify\\.parse$" }, { "pattern": "^blobset\\.blob\\.verify\\.hash$" }, - { "pattern": "^blobset\\.blob\\.verify\\.compatibility$" }, + { "pattern": "^blobset\\.blob\\.verify\\.incompatible$" }, + { "pattern": "^blobset\\.blob\\.verify\\.dependency$" }, { "pattern": "^blobset\\.blob\\.apply$" }, { "pattern": "^blobset\\.blob\\.abort$" }, { "pattern": "^validation\\.device\\.receive$" }, diff --git a/schema/options_pubber.json b/schema/options_pubber.json index 064e21a964..b2529a9983 100644 --- a/schema/options_pubber.json +++ b/schema/options_pubber.json @@ -127,6 +127,14 @@ }, "softwareFirmwareValue": { "type": "string" + }, + "hardwareIncompatible": { + "type": "boolean", + "description": "If true, the pubber will simulate a physical hardware mismatch during OTA update." + }, + "softwareDependencyMismatch": { + "type": "boolean", + "description": "If true, the pubber will simulate a temporal software dependency mismatch during OTA update." } } } diff --git a/validator/sequences/ota_dependency_mismatch/device_system.log b/validator/sequences/ota_dependency_mismatch/device_system.log new file mode 100644 index 0000000000..9c173054cb --- /dev/null +++ b/validator/sequences/ota_dependency_mismatch/device_system.log @@ -0,0 +1 @@ +TIMESTAMP WARNING validation.feature.sequence Feature bucket updates not enabled diff --git a/validator/sequences/ota_dependency_mismatch/sequence.log b/validator/sequences/ota_dependency_mismatch/sequence.log new file mode 100644 index 0000000000..77b15454a9 --- /dev/null +++ b/validator/sequences/ota_dependency_mismatch/sequence.log @@ -0,0 +1,24 @@ +TIMESTAMP NOTICE Starting test ota_dependency_mismatch ################################ +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:81) +TIMESTAMP DEBUG stage done initialize at @0s +TIMESTAMP DEBUG exception message: Feature bucket updates not enabled +TIMESTAMP TRACE ending stack trace: org.junit.AssumptionViolatedException: Feature bucket updates not enabled +TIMESTAMP TRACE ending stack trace: at org.junit.Assume.assumeTrue(Assume.java:68) +TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.SequenceBase.setUp(SequenceBase.java:825) +TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.setUp(BlobsetSequences.java:83) +TIMESTAMP TRACE ending stack trace: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) +TIMESTAMP TRACE ending stack trace: at java.base/java.lang.reflect.Method.invoke(Method.java:580) +TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) +TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) +TIMESTAMP TRACE ending stack trace: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) +TIMESTAMP TRACE ending stack trace: at java.base/java.lang.Thread.run(Thread.java:1583) +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT skip system.software.updates ota_dependency_mismatch PREVIEW 0/0 Feature bucket updates not enabled +TIMESTAMP WARNING Feature bucket updates not enabled +TIMESTAMP NOTICE Ending test ota_dependency_mismatch after @0s ################################ diff --git a/validator/sequences/ota_dependency_mismatch/sequence.md b/validator/sequences/ota_dependency_mismatch/sequence.md new file mode 100644 index 0000000000..8fe2289dba --- /dev/null +++ b/validator/sequences/ota_dependency_mismatch/sequence.md @@ -0,0 +1,5 @@ + +## ota_dependency_mismatch (PREVIEW) + + +Test skipped: Feature bucket updates not enabled diff --git a/validator/sequences/ota_hash_mismatch/device_system.log b/validator/sequences/ota_hash_mismatch/device_system.log new file mode 100644 index 0000000000..9c173054cb --- /dev/null +++ b/validator/sequences/ota_hash_mismatch/device_system.log @@ -0,0 +1 @@ +TIMESTAMP WARNING validation.feature.sequence Feature bucket updates not enabled diff --git a/validator/sequences/ota_hash_mismatch/sequence.log b/validator/sequences/ota_hash_mismatch/sequence.log new file mode 100644 index 0000000000..e8bcaf60ff --- /dev/null +++ b/validator/sequences/ota_hash_mismatch/sequence.log @@ -0,0 +1,24 @@ +TIMESTAMP NOTICE Starting test ota_hash_mismatch ################################ +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:81) +TIMESTAMP DEBUG stage done initialize at @0s +TIMESTAMP DEBUG exception message: Feature bucket updates not enabled +TIMESTAMP TRACE ending stack trace: org.junit.AssumptionViolatedException: Feature bucket updates not enabled +TIMESTAMP TRACE ending stack trace: at org.junit.Assume.assumeTrue(Assume.java:68) +TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.SequenceBase.setUp(SequenceBase.java:825) +TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.setUp(BlobsetSequences.java:83) +TIMESTAMP TRACE ending stack trace: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) +TIMESTAMP TRACE ending stack trace: at java.base/java.lang.reflect.Method.invoke(Method.java:580) +TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) +TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) +TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) +TIMESTAMP TRACE ending stack trace: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) +TIMESTAMP TRACE ending stack trace: at java.base/java.lang.Thread.run(Thread.java:1583) +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT skip system.software.updates ota_hash_mismatch PREVIEW 0/0 Feature bucket updates not enabled +TIMESTAMP WARNING Feature bucket updates not enabled +TIMESTAMP NOTICE Ending test ota_hash_mismatch after @0s ################################ diff --git a/validator/sequences/ota_hash_mismatch/sequence.md b/validator/sequences/ota_hash_mismatch/sequence.md new file mode 100644 index 0000000000..cbdd88fd69 --- /dev/null +++ b/validator/sequences/ota_hash_mismatch/sequence.md @@ -0,0 +1,5 @@ + +## ota_hash_mismatch (PREVIEW) + + +Test skipped: Feature bucket updates not enabled 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 7075c4f2d3..a85fc4d8bf 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 @@ -411,39 +411,49 @@ private void setDeviceConfigSoftwareBlob(String blob_key, String url, String sha deviceConfig.blobset = blobset; } - private void runHappyPathOta(OtaTestingModel otaConfig) { - String blobKey = otaConfig.blob_key; - String url = otaConfig.url; - String sha256 = otaConfig.sha256; - String version = otaConfig.version; + private void runOtaTest(OtaTestingModel target, boolean expectSuccess, String expectedCategory, Level expectedLevel) { + String blobKey = target.blob_key; + String url = target.url; + String sha256 = target.sha256; + String version = target.version; info(format("Testing OTA update for blob key %s, version %s", blobKey, version)); setDeviceConfigSoftwareBlob(blobKey, url, sha256); updateConfig("trigger ota update for " + blobKey); - // Wait for phase: APPLY - untilTrue(blobKey + " phase is APPLY", () -> { + // Relaxed intermediate check for fast updates: wait for APPLY or FINAL + untilTrue(blobKey + " phase transitions", () -> { BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobKey); - return blobBlobsetState != null && BlobPhase.APPLY.equals(blobBlobsetState.phase); + return blobBlobsetState != null && + (BlobPhase.APPLY.equals(blobBlobsetState.phase) || BlobPhase.FINAL.equals(blobBlobsetState.phase)); }); - // Wait for log message - waitForLog(BLOBSET_BLOB_APPLY, Level.NOTICE); + if (expectedCategory != null) { + waitForLog(expectedCategory, expectedLevel); + } - // Wait for phase: FINAL and status null - untilTrue(blobKey + " phase is FINAL and status is null", () -> { + untilTrue(blobKey + " phase is FINAL", () -> { BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobKey); - return blobBlobsetState != null && BlobPhase.FINAL.equals(blobBlobsetState.phase) && blobBlobsetState.status == null; + if (blobBlobsetState == null || !BlobPhase.FINAL.equals(blobBlobsetState.phase)) { + return false; + } + if (expectSuccess) { + return blobBlobsetState.status == null; + } else { + return blobBlobsetState.status != null && blobBlobsetState.status.level >= Level.ERROR.value(); + } }); - // Validate system.software - checkThat(blobKey + " software version reflects update", () -> { - String softwareVersion = deviceState.system.software.get(blobKey); - return version.equals(softwareVersion); - }); + if (expectSuccess) { + checkThat(blobKey + " software version reflects update", () -> { + String softwareVersion = deviceState.system.software.get(blobKey); + return version.equals(softwareVersion); + }); + } } + private OtaTestingModel getOtaTarget(String targetType) { ifTrueSkipTest(deviceMetadata.testing == null || deviceMetadata.testing.ota_targets == null, "No OTA targets defined in metadata"); @@ -454,33 +464,49 @@ private OtaTestingModel getOtaTarget(String targetType) { @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_happy_path() { + public void ota_update_success() { OtaTestingModel target = getOtaTarget("happy"); - runHappyPathOta(target); + runOtaTest(target, true, BLOBSET_BLOB_APPLY, Level.NOTICE); } + @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_fetch_failure() { OtaTestingModel target = getOtaTarget("fail_fetch"); + runOtaTest(target, false, Category.BLOBSET_BLOB_FETCH_FAILURE, Level.ERROR); + } - setDeviceConfigSoftwareBlob(target.blob_key, target.url, target.sha256); - updateConfig("trigger ota update for " + target.blob_key); - untilTrue(target.blob_key + " phase is APPLY", () -> { - BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(target.blob_key); - return blobBlobsetState != null && BlobPhase.APPLY.equals(blobBlobsetState.phase); - }); + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + public void ota_hash_mismatch() { + OtaTestingModel target = getOtaTarget("fail_hash"); + runOtaTest(target, false, BLOBSET_BLOB_VERIFY_HASH, Level.ERROR); + } - waitForLog(Category.BLOBSET_BLOB_FETCH_FAILURE, Level.ERROR); - untilTrue(target.blob_key + " phase is FINAL and status is not null", () -> { - BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(target.blob_key); - return blobBlobsetState != null - && BlobPhase.FINAL.equals(blobBlobsetState.phase) - && blobBlobsetState.status != null - && blobBlobsetState.status.level >= Level.ERROR.value(); - }); + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + public void ota_parse_failure() { + OtaTestingModel target = getOtaTarget("fail_parse"); + runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_PARSE, Level.ERROR); + } + + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + public void ota_hardware_mismatch() { + OtaTestingModel target = getOtaTarget("happy"); + runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_COMPATIBILITY, Level.ERROR); } + + @Test(timeout = TWO_MINUTES_MS) + @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) + public void ota_software_mismatch() { + OtaTestingModel target = getOtaTarget("happy"); + runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY, Level.ERROR); + } } + From 263c1c0944edfe288cb9b7fc5623782e99a0b21a Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 08:36:05 +0000 Subject: [PATCH 09/22] Add missing import --- pubber/src/main/java/udmi/lib/client/host/PublisherHost.java | 1 + 1 file changed, 1 insertion(+) 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 7f85efc1af..986dd493f5 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; From 3d2b354f01fa1dccdc15450525ce107a27e50310 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 08:43:05 +0000 Subject: [PATCH 10/22] Fix pubber build --- .../impl/host/MockGitModuleEmulator.java | 29 +++++++++++++++---- .../java/udmi/lib/base/UdmiException.java | 12 ++++++++ .../udmi/lib/client/host/PublisherHost.java | 5 ++-- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java index 5080004998..57752a874e 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java +++ b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java @@ -1,17 +1,19 @@ package daq.pubber.impl.host; +import static com.google.udmi.util.GeneralUtils.isTrue; +import static com.google.udmi.util.JsonUtil.safeSleep; +import static java.lang.String.format; + import java.io.File; import java.util.function.Consumer; import org.apache.commons.io.FileUtils; - -import static java.lang.String.format; -import static com.google.udmi.util.JsonUtil.safeSleep; -import static com.google.udmi.util.GeneralUtils.isTrue; - import udmi.lib.base.UdmiException.BlobDependencyMismatchException; import udmi.lib.base.UdmiException.BlobIncompatibleException; import udmi.schema.PubberOptions; +/** + * Mock emulator for Git modules used in OTA updates. + */ public class MockGitModuleEmulator { @@ -22,6 +24,15 @@ public class MockGitModuleEmulator { private final PubberOptions options; private boolean inMemoryFallback = false; + /** + * Creates a new instance of MockGitModuleEmulator. + * + * @param softwareModuleDir The directory for the software module. + * @param options The pubber options. + * @param infoLogger Logger for info messages. + * @param noticeLogger Logger for notice messages. + * @param errorLogger Logger for error messages. + */ public MockGitModuleEmulator(String softwareModuleDir, PubberOptions options, Consumer infoLogger, Consumer noticeLogger, Consumer errorLogger) { this.repoDir = new File(softwareModuleDir); @@ -31,6 +42,9 @@ public MockGitModuleEmulator(String softwareModuleDir, PubberOptions options, this.errorLogger = errorLogger; } + /** + * Initializes the module for OTA updates. + */ public void initModuleForOtaUpdates() { try { if (repoDir.exists()) { @@ -67,6 +81,11 @@ public void initModuleForOtaUpdates() { } } + /** + * Handles an OTA update with the given payload. + * + * @param payload The update payload (e.g., commit hash). + */ public void handleOtaUpdate(String payload) { if (isTrue(options.hardwareIncompatible)) { safeSleep(2000); diff --git a/pubber/src/main/java/udmi/lib/base/UdmiException.java b/pubber/src/main/java/udmi/lib/base/UdmiException.java index f2f6a28298..cdac38f0d5 100644 --- a/pubber/src/main/java/udmi/lib/base/UdmiException.java +++ b/pubber/src/main/java/udmi/lib/base/UdmiException.java @@ -1,19 +1,31 @@ package udmi.lib.base; +/** + * Container for UDMI-specific exceptions. + */ public class UdmiException { + /** + * Exception thrown when there is a hash mismatch. + */ public static class HashMismatchException extends RuntimeException { public HashMismatchException(String message) { super(message); } } + /** + * Exception thrown when a blob is incompatible. + */ public static class BlobIncompatibleException extends RuntimeException { public BlobIncompatibleException(String message) { super(message); } } + /** + * Exception thrown when there is a blob dependency mismatch. + */ public static class BlobDependencyMismatchException extends RuntimeException { public BlobDependencyMismatchException(String message) { super(message); 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 986dd493f5..65c82ea5a5 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -160,6 +160,7 @@ default HashMap getBlobs() { default BlobBlobsetConfig getConfigBlob(String blobName) { return getBlobs().get(blobName); } + /** * Extracts the configuration blob with the specified name, if it exists and is in the final * phase. @@ -224,8 +225,8 @@ default void processBlob(String blobName) { state.status = exceptionStatus(e, Category.BLOBSET_BLOB_APPLY); error(format("Failed to apply blob %s", blobName), e); - String category = BLOB_ERROR_CATEGORIES.getOrDefault( - e.getClass(), Category.BLOBSET_BLOB_FETCH_FAILURE); + String category = BLOB_ERROR_CATEGORIES.getOrDefault(e.getClass(), + Category.BLOBSET_BLOB_FETCH_FAILURE); logEvent(category, "For blob key " + blobName + ":\n", e); } finally { publishAsynchronousState(); From 5d7e09bea4005935b607e0e80f8d0c4ac607284b Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 08:54:29 +0000 Subject: [PATCH 11/22] Fix validator build --- .gencode_hash.txt | 6 +-- gencode/docs/metadata.html | 18 ++++----- gencode/java/udmi/schema/OtaTestingModel.java | 14 +++---- .../python/udmi/schema/model_testing_ota.py | 2 +- schema/model_testing_ota.json | 4 +- .../sequencer/sequences/BlobsetSequences.java | 40 +++++++++---------- 6 files changed, 42 insertions(+), 42 deletions(-) diff --git a/.gencode_hash.txt b/.gencode_hash.txt index 992af0e80f..aa6c31a79f 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -15,7 +15,7 @@ eafcc3c48189f605f114cde051fea9d13fc5f1a3e395d64fb0a91cb53d4c9aeb gencode/docs/e 13678cdf6642e7da5cf35fd6528c0b46a917f49406398b97439cc065e6e6f4a7 gencode/docs/events_system.html c5df7d044f4588e6a83baf2a2da1e77f37cbfb9d3672f4df1cd1c7ec8dc80a8f gencode/docs/events_udmi.html 62a69395bb4df5b0196d9412133ac00d8af603065248f80a24050ad37c288ee6 gencode/docs/events_validation.html -b6168de62ae15fdc74b8c0c710f32492834747073c16158d0a28c5bb5eb1d614 gencode/docs/metadata.html +2d36c00d3fb1a637da3015f2ec6ba58cc5d3ad304234697950092cb95f1a4325 gencode/docs/metadata.html 5f45fc3e2fbb5dbe78fbd0ca7b343b02ac2e2603e77a7644b84fbc42bffafc49 gencode/docs/monitoring.html 7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html @@ -110,7 +110,7 @@ a64167bfcec809442cff132bb59ae0600055731407858656cc7147c3a38bb7cc gencode/java/u e986aff1efca08188441a246392f8c524c2cdaae107e475657402872a9a01561 gencode/java/udmi/schema/Monitoring.java 25210c7f94b6369c43c68ed1fefba1ab3dedfe3201352055c536fd5225a4c590 gencode/java/udmi/schema/MonitoringMetric.java aa359e7906a73519482c4eefc717c49c8ef96d288a285cf126605a45201c22b2 gencode/java/udmi/schema/Operation.java -f4d5451840d9b9c5accc277f8c34646a83e9bb10624f13c2e9c05b60787980a0 gencode/java/udmi/schema/OtaTestingModel.java +2f85c8213f42b10e949c1cae88c860e8a4345cf3807bc8ead647d0970dff56a2 gencode/java/udmi/schema/OtaTestingModel.java d48a48484965295327ef553a4f8552c44b9345224d7dbb847877c68c1e1b307e gencode/java/udmi/schema/Parameters.java 66ffb9033bcd715dd53e228986c40d2f9b314e01b32c25103b4dadc9bd0e97a5 gencode/java/udmi/schema/Parent.java 416ce4431c48d2b8d3165ba6de7b4665fd3fc2bcd03f01009bd4147f393fbc4c gencode/java/udmi/schema/Physical_tag.java @@ -236,7 +236,7 @@ f65ab38c968d1dc2ffb2d3eaf632f401e2b722ff0d6fe69abf20227f694c0d33 gencode/python 241c702f6a877f41c0ebd997c7e431ba8e6d6c0d1b21bc95a9fc57592ff094a7 gencode/python/udmi/schema/model_system.py 1db2fca012d3da953438b78acd2a5c15d94e46df8b77c459876e20ef2598dfbd gencode/python/udmi/schema/model_system_hardware.py 34895d4f23a87be6959a3f3d5110875d27cfa9dec8d87563600091946ce781d2 gencode/python/udmi/schema/model_testing.py -111f313a46ac3412c2ebee6cf5e5f09cc12630163ccf25bc5f95b0052e4243b6 gencode/python/udmi/schema/model_testing_ota.py +d12499c4a85a2f7a2e717ba3986a8d02f9a6cf8196efcba9c644d61a8dc0c39d gencode/python/udmi/schema/model_testing_ota.py 345ee1c07dc58c9a2daabf0820e15d881c4af271a8ea85044c45cd4dca3c0afa gencode/python/udmi/schema/model_testing_target.py f65537d0d2f8a255b9cbc52fd5d52558e3af4e58f6e2f28a43d4eaf4b99adc73 gencode/python/udmi/schema/monitoring.py 5e9531a0fec79fb0bcd637ac68d6b6f38119c054e9b18fe624f2ca283ac2e9bf gencode/python/udmi/schema/monitoring_metric.py diff --git a/gencode/docs/metadata.html b/gencode/docs/metadata.html index 4cc6be28ce..c609cf3055 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -6089,18 +6089,18 @@

-
+
-
+

- +

-
+
Type: string
-

Blob key for the payload

+ blob_name
Type: string
+

Blob name for the payload

diff --git a/gencode/java/udmi/schema/OtaTestingModel.java b/gencode/java/udmi/schema/OtaTestingModel.java index afb9f942e5..41dc8bea7b 100644 --- a/gencode/java/udmi/schema/OtaTestingModel.java +++ b/gencode/java/udmi/schema/OtaTestingModel.java @@ -15,7 +15,7 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ - "blob_key", + "blob_name", "url", "sha256", "version" @@ -23,12 +23,12 @@ public class OtaTestingModel { /** - * Blob key for the payload + * Blob name for the payload * */ - @JsonProperty("blob_key") - @JsonPropertyDescription("Blob key for the payload") - public String blob_key; + @JsonProperty("blob_name") + @JsonPropertyDescription("Blob name for the payload") + public String blob_name; /** * URL for OTA update * @@ -54,7 +54,7 @@ public class OtaTestingModel { @Override public int hashCode() { int result = 1; - result = ((result* 31)+((this.blob_key == null)? 0 :this.blob_key.hashCode())); + 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())); @@ -70,7 +70,7 @@ public boolean equals(Object other) { return false; } OtaTestingModel rhs = ((OtaTestingModel) other); - return (((((this.blob_key == rhs.blob_key)||((this.blob_key!= null)&&this.blob_key.equals(rhs.blob_key)))&&((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)))); + 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/python/udmi/schema/model_testing_ota.py b/gencode/python/udmi/schema/model_testing_ota.py index 6bc21bf848..9464127d29 100644 --- a/gencode/python/udmi/schema/model_testing_ota.py +++ b/gencode/python/udmi/schema/model_testing_ota.py @@ -11,7 +11,7 @@ @dataclass class OtaTestingModel(DataModel): - blob_key: Optional[str] = None + blob_name: Optional[str] = None url: Optional[str] = None sha256: Optional[str] = None version: Optional[str] = None diff --git a/schema/model_testing_ota.json b/schema/model_testing_ota.json index 3437b7d960..8885672c7f 100644 --- a/schema/model_testing_ota.json +++ b/schema/model_testing_ota.json @@ -5,8 +5,8 @@ "$schema": "http://json-schema.org/draft-04/schema#", "additionalProperties": false, "properties": { - "blob_key": { - "description": "Blob key for the payload", + "blob_name": { + "description": "Blob name for the payload", "type": "string" }, "url": { 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 a85fc4d8bf..df636730bc 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 @@ -19,8 +19,6 @@ 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_SUCCESS; import static udmi.schema.Category.BLOBSET_BLOB_VERIFY_HASH; import static udmi.schema.FeatureDiscovery.FeatureStage.PREVIEW; @@ -46,7 +44,6 @@ import udmi.schema.BlobsetConfig; import udmi.schema.BlobsetConfig.SystemBlobsets; import udmi.schema.Category; -import udmi.schema.OtaTestingModel; import udmi.schema.EndpointConfiguration; import udmi.schema.EndpointConfiguration.Protocol; import udmi.schema.EndpointConfiguration.Transport; @@ -55,6 +52,7 @@ import udmi.schema.IotAccess.IotProvider; import udmi.schema.Level; import udmi.schema.Operation.SystemMode; +import udmi.schema.OtaTestingModel; /** @@ -398,7 +396,7 @@ private String generateSoftwareConfigDataUrl(String payload) { return format(DATA_URL_FORMAT, JSON_MIME_TYPE, encodeBase64(payload)); } - private void setDeviceConfigSoftwareBlob(String blob_key, String url, String sha256) { + private void setDeviceConfigSoftwareBlob(String blobName, String url, String sha256) { BlobBlobsetConfig config = new BlobBlobsetConfig(); config.url = SemanticValue.describe("software data", url); config.phase = BlobPhase.FINAL; @@ -407,47 +405,49 @@ private void setDeviceConfigSoftwareBlob(String blob_key, String url, String sha BlobsetConfig blobset = new BlobsetConfig(); blobset.blobs = new HashMap<>(); - blobset.blobs.put(blob_key, config); + blobset.blobs.put(blobName, config); deviceConfig.blobset = blobset; } - private void runOtaTest(OtaTestingModel target, boolean expectSuccess, String expectedCategory, Level expectedLevel) { - String blobKey = target.blob_key; + private void runOtaTest(OtaTestingModel target, boolean expectSuccess, String expectedCategory, + Level expectedLevel) { + String blobName = target.blob_name; String url = target.url; String sha256 = target.sha256; String version = target.version; - info(format("Testing OTA update for blob key %s, version %s", blobKey, version)); + info(format("Testing OTA update for blob key %s, version %s", blobName, version)); - setDeviceConfigSoftwareBlob(blobKey, url, sha256); - updateConfig("trigger ota update for " + blobKey); + setDeviceConfigSoftwareBlob(blobName, url, sha256); + updateConfig("trigger ota update for " + blobName); // Relaxed intermediate check for fast updates: wait for APPLY or FINAL - untilTrue(blobKey + " phase transitions", () -> { - BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobKey); - return blobBlobsetState != null && - (BlobPhase.APPLY.equals(blobBlobsetState.phase) || BlobPhase.FINAL.equals(blobBlobsetState.phase)); + untilTrue(blobName + " phase transitions", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); + return blobBlobsetState != null && (BlobPhase.APPLY.equals(blobBlobsetState.phase) + || BlobPhase.FINAL.equals(blobBlobsetState.phase)); }); if (expectedCategory != null) { waitForLog(expectedCategory, expectedLevel); } - untilTrue(blobKey + " phase is FINAL", () -> { - BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobKey); + untilTrue(blobName + " phase is FINAL", () -> { + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); if (blobBlobsetState == null || !BlobPhase.FINAL.equals(blobBlobsetState.phase)) { return false; } if (expectSuccess) { return blobBlobsetState.status == null; } else { - return blobBlobsetState.status != null && blobBlobsetState.status.level >= Level.ERROR.value(); + return blobBlobsetState.status != null + && blobBlobsetState.status.level >= Level.ERROR.value(); } }); if (expectSuccess) { - checkThat(blobKey + " software version reflects update", () -> { - String softwareVersion = deviceState.system.software.get(blobKey); + checkThat(blobName + " software version reflects update", () -> { + String softwareVersion = deviceState.system.software.get(blobName); return version.equals(softwareVersion); }); } @@ -498,7 +498,7 @@ public void ota_parse_failure() { @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_hardware_mismatch() { OtaTestingModel target = getOtaTarget("happy"); - runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_COMPATIBILITY, Level.ERROR); + runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, Level.ERROR); } From 266e2a75f776232b0b9391df9300e768c4f2ce72 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 09:22:16 +0000 Subject: [PATCH 12/22] Fix schema tests --- tests/schemas/events_system/categories.out | 12 ++++++------ tests/schemas/events_system/errors.out | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/schemas/events_system/categories.out b/tests/schemas/events_system/categories.out index a150f3830c..e3b7d56e2d 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 43) - /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 43) - /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 43) - /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 43) - /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 43) - /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/3/category: instance failed to match exactly one schema (matched 0 out of 44) + /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 44) + /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 44) + /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 44) + /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 44) + /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 44) diff --git a/tests/schemas/events_system/errors.out b/tests/schemas/events_system/errors.out index 52afc8b9dc..43b8b39d07 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 43) + /logentries/0/category: instance failed to match exactly one schema (matched 0 out of 44) /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"]) From 53de1c4fa4bf39c03e715143d2df683cc0821ede Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 12:04:13 +0000 Subject: [PATCH 13/22] Fix pubber build --- pubber/build.gradle | 1 + .../java/daq/pubber/impl/PubberManager.java | 1 - .../impl/host/MockGitModuleEmulator.java | 78 ++++++++++--------- .../pubber/impl/host/PubberPublisherHost.java | 20 ++++- .../impl/manager/PubberSystemManager.java | 48 +++--------- 5 files changed, 70 insertions(+), 78 deletions(-) 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/PubberManager.java b/pubber/src/main/java/daq/pubber/impl/PubberManager.java index fcff853ded..f012cf9625 100644 --- a/pubber/src/main/java/daq/pubber/impl/PubberManager.java +++ b/pubber/src/main/java/daq/pubber/impl/PubberManager.java @@ -28,7 +28,6 @@ public class PubberManager extends ManagerBase { protected static final String PERSISTENT_STORE_FILE = "persistent_data.json"; protected static final String PERSISTENT_TMP_FORMAT = "/tmp/pubber_%s_" + PERSISTENT_STORE_FILE; protected static final String SOFTWARE_MODULE_KEY = "pubber_module"; - protected static final String SOFTWARE_MODULE_DIR = "out/pubber_module_repo"; protected final PubberConfiguration config; protected final PubberOptions options; diff --git a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java index 57752a874e..e48547057e 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java +++ b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java @@ -7,6 +7,9 @@ import java.io.File; import java.util.function.Consumer; import org.apache.commons.io.FileUtils; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Repository; import udmi.lib.base.UdmiException.BlobDependencyMismatchException; import udmi.lib.base.UdmiException.BlobIncompatibleException; import udmi.schema.PubberOptions; @@ -16,7 +19,6 @@ */ public class MockGitModuleEmulator { - private final File repoDir; private final Consumer infoLogger; private final Consumer noticeLogger; @@ -45,7 +47,7 @@ public MockGitModuleEmulator(String softwareModuleDir, PubberOptions options, /** * Initializes the module for OTA updates. */ - public void initModuleForOtaUpdates() { + public void initialize() { try { if (repoDir.exists()) { FileUtils.deleteDirectory(repoDir); @@ -54,26 +56,25 @@ public void initModuleForOtaUpdates() { throw new RuntimeException("Failed to create source directory"); } - infoLogger.accept(format("Initializing mock module in %s", repoDir.getAbsolutePath())); - try { - runCommandInDir(repoDir, "git", "init"); - runCommandInDir(repoDir, "git", "config", "user.name", "Pubber"); - runCommandInDir(repoDir, "git", "config", "user.email", "pubber@udmi.io"); + infoLogger.accept(format("Initializing mock JGit module in %s", repoDir.getAbsolutePath())); + try (Git git = Git.init().setDirectory(repoDir).call()) { + // Create v1 File versionFile = new File(repoDir, "version.txt"); FileUtils.writeStringToFile(versionFile, "v1", "UTF-8"); - runCommandInDir(repoDir, "git", "add", "."); - runCommandInDir(repoDir, "git", "commit", "-m", "v1"); - runCommandInDir(repoDir, "git", "tag", "v1"); + git.add().addFilepattern(".").call(); + git.commit().setMessage("v1").setAuthor("Pubber", "pubber@udmi.io").call(); + git.tag().setName("v1").call(); + // Create v2 FileUtils.writeStringToFile(versionFile, "v2", "UTF-8"); - runCommandInDir(repoDir, "git", "add", "."); - runCommandInDir(repoDir, "git", "commit", "-m", "v2"); - runCommandInDir(repoDir, "git", "tag", "v2"); - infoLogger.accept("Isolated repo initialized successfully."); + git.add().addFilepattern(".").call(); + git.commit().setMessage("v2").setAuthor("Pubber", "pubber@udmi.io").call(); + git.tag().setName("v2").call(); + + infoLogger.accept("Isolated JGit repo initialized successfully."); } catch (Exception e) { - infoLogger.accept( - "Git execution failed on host. Falling back to abstract in-memory logic."); + infoLogger.accept("JGit execution failed. Falling back to abstract in-memory logic."); inMemoryFallback = true; } } catch (Exception e) { @@ -86,48 +87,51 @@ public void initModuleForOtaUpdates() { * * @param payload The update payload (e.g., commit hash). */ - public void handleOtaUpdate(String payload) { + public void updateTo(String payload) { if (isTrue(options.hardwareIncompatible)) { safeSleep(2000); - throw new BlobIncompatibleException("Hardware incompatible static failure intentions"); + throw new BlobIncompatibleException("Hardware incompatible"); } if (isTrue(options.softwareDependencyMismatch)) { safeSleep(2000); - throw new BlobDependencyMismatchException( - "Software dependencies temporal temporal prerequisite intentions"); + throw new BlobDependencyMismatchException("Software dependencies mismatch"); } + String commitHash = payload.trim(); infoLogger.accept(format("Triggering mock OTA update to commit %s", commitHash)); if (inMemoryFallback) { infoLogger.accept("Simulating OTA update delay in-memory..."); safeSleep(2000); - noticeLogger.accept("Mock Git OTA update completed abstractly."); + noticeLogger.accept("Mock OTA update completed abstractly."); return; } - if (!repoDir.exists()) { - throw new RuntimeException("Isolated repo directory not found"); - } - - try { + try (Git git = Git.open(repoDir)) { infoLogger.accept("Simulating OTA update delay..."); safeSleep(2000); - runCommandInDir(repoDir, "git", "checkout", commitHash); - noticeLogger.accept("Git OTA update completed successfully."); + git.checkout().setName(commitHash).call(); + noticeLogger.accept("JGit OTA update completed successfully."); } catch (Exception e) { - throw new RuntimeException("Git operation failed", e); + throw new RuntimeException("JGit checkout operation failed", e); } } - private void runCommandInDir(File dir, String... command) throws Exception { - ProcessBuilder pb = new ProcessBuilder(command); - pb.directory(dir); - pb.redirectErrorStream(true); - Process p = pb.start(); - int exitCode = p.waitFor(); - if (exitCode != 0) { - throw new RuntimeException(format("Command failed with exit code %d", exitCode)); + /** + * Retrieves the current commit hash (or fallback state) of the managed module. + */ + public String getModuleVersion() { + if (inMemoryFallback || !repoDir.exists()) { + return "unknown"; + } + + try (Git git = Git.open(repoDir)) { + Repository repository = git.getRepository(); + ObjectId head = repository.resolve("HEAD"); + return head != null ? head.getName() : "unknown"; + } catch (Exception e) { + errorLogger.accept("Failed to resolve module version via JGit: " + e.getMessage()); + return "unknown"; } } } 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 311bd7b15f..89a7f98b73 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java +++ b/pubber/src/main/java/daq/pubber/impl/host/PubberPublisherHost.java @@ -122,16 +122,27 @@ public void initializeDevice() { markStateDirty(); } + private void updateModuleVersionInState() { + if (moduleEmulator != null) { + if (getDeviceState().system.software == null) { + getDeviceState().system.software = new HashMap<>(); + } + getDeviceState().system.software.put(SOFTWARE_MODULE_KEY, moduleEmulator.getModuleVersion()); + markStateDirty(); + } + } + private void initModuleForOtaUpdates() { String dynamicDir = "out/pubber_module_repo_" + config.serialNo; moduleEmulator = new MockGitModuleEmulator(dynamicDir, config.options, this::info, this::notice, this::error); - moduleEmulator.initModuleForOtaUpdates(); + moduleEmulator.initialize(); + updateModuleVersionInState(); } private Consumer getBlobHandler(String blobName) { return Map.>of( - SOFTWARE_MODULE_KEY, this::handleOtaUpdate + SOFTWARE_MODULE_KEY, this::updateModule ).get(blobName); } @@ -153,8 +164,9 @@ public void activateBlob(String blobName) { } } - private void handleOtaUpdate(String payload) { - moduleEmulator.handleOtaUpdate(payload); + private void updateModule(String payload) { + moduleEmulator.updateTo(payload); + updateModuleVersionInState(); } diff --git a/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java b/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java index 973724edc6..9223ea0f09 100644 --- a/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java +++ b/pubber/src/main/java/daq/pubber/impl/manager/PubberSystemManager.java @@ -4,9 +4,6 @@ import static java.lang.String.format; import daq.pubber.impl.PubberManager; -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -96,41 +93,20 @@ public void setHardwareSoftware(Metadata metadata) { ExtraSystemState state = getSystemState(); ifNullThen(state.hardware.make, () -> state.hardware.make = "bos"); ifNullThen(state.hardware.model, () -> state.hardware.model = "pubber"); - ifNullThen(state.software, () -> state.software = new HashMap<>()); - state.software.putIfAbsent(DEFAULT_SOFTWARE_KEY, "v1"); - state.software.put(SOFTWARE_MODULE_KEY, getGitCommitHash()); + ifNullThen(state.software, () -> { + state.software = new HashMap<>(); + state.software.put(DEFAULT_SOFTWARE_KEY, "v1"); + }); } } - private String getGitCommitHash() { - try { - File repoDir = new File(SOFTWARE_MODULE_DIR); - if (!repoDir.exists()) { - return "unknown"; - } - - File versionFile = new File(repoDir, "version.txt"); - if (versionFile.exists()) { - try (BufferedReader reader = new BufferedReader(new java.io.FileReader(versionFile))) { - String line = reader.readLine(); - if (line != null) { - return line.trim(); - } - } - } - - ProcessBuilder pb = new ProcessBuilder("git", "rev-parse", "HEAD"); - pb.directory(repoDir); - Process p = pb.start(); - try (BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()))) { - String line = reader.readLine(); - if (line != null) { - return line.trim(); - } - } - } catch (Exception e) { - // Ignore or log - } - return "unknown"; + /** + * Updates the software version for a specific module in the system state. + */ + public void updateSoftwareModuleVersion(String moduleKey, String version) { + ExtraSystemState state = getSystemState(); + ifNullThen(state.software, () -> state.software = new HashMap<>()); + state.software.put(moduleKey, version); } + } From 4401506fda2a34bd8bf427e0116dff9c991a99e1 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 12:15:27 +0000 Subject: [PATCH 14/22] Fix OTA updates test script --- bin/test_ota_updates | 40 ++++++------------- .../impl/host/MockGitModuleEmulator.java | 2 +- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/bin/test_ota_updates b/bin/test_ota_updates index 70b82174db..52f1344b45 100755 --- a/bin/test_ota_updates +++ b/bin/test_ota_updates @@ -24,33 +24,24 @@ site_path=sites/udmi_site_model device_id=AHU-1 serial_no=sequencer-$RANDOM -# Use tag v2 for OTA +# Use tag v2 for OTA update target_commit="v2" -# create out directory if it doesn't exist mkdir -p out/ -# Clean up previous runs rm -f out/pubber.log.* rm -f out/blobs.json pubber_log=out/pubber.log.${serial_no} -# Run pubber in background log "Starting pubber with serial $serial_no..." bin/pubber $site_path $project_spec $device_id $serial_no > $pubber_log 2>&1 & pubber_pid=$! -# Wait for pubber to start log "Waiting for pubber to start..." sleep 20 -if [ ! -d "out/pubber_module_repo/.git" ]; then - fail "Pubber did not initialize the software module repo." -fi - -log "Target commit for OTA: $target_commit" +log "Target commit for update: $target_commit" -# Generate config for OTA log "Generating OTA config..." base64_payload=$(echo -n $target_commit | base64 -w 0) sha256_payload=$(echo -n $target_commit | openssl sha256 | awk '{print $2}') @@ -71,12 +62,10 @@ cat < out/blobs.json } EOF -# Merge config out_base=$site_path/devices/$device_id/out config_base=$site_path/devices/$device_id/config mkdir -p $config_base -# Clean up old ota config rm -f $config_base/ota_config.json if [ -f $out_base/generated_config.json ]; then @@ -85,38 +74,35 @@ else cp out/blobs.json $config_base/ota_config.json fi -log "Applying OTA config..." +log "Applying update config..." bin/reset_config $site_path $project_spec $device_id ota_config.json -# Wait for pubber to react -log "Waiting for pubber to process OTA..." +log "Waiting for pubber to process update..." sleep 20 -# Verify logs log "Verifying logs..." -if grep -q "Triggering Git OTA update to commit $target_commit" $pubber_log; then - log "OTA trigger detected." +if grep -q "Triggering mock OTA update to commit $target_commit" $pubber_log; then + log "Update trigger detected." else - fail "OTA trigger NOT detected." + fail "Update trigger NOT detected." fi # Wait for update to complete and state to propagate sleep 20 -if grep -q "Git OTA update completed successfully" $pubber_log; then +if grep -q "Mock OTA update completed successfully" $pubber_log; then log "OTA success detected." else fail "OTA 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 "OTA state phase: FINAL verified in state.json" + log "Blob state phase: FINAL verified in state" else - fail "OTA state phase: FINAL NOT found in state.json" + fail "Blob state phase: FINAL NOT found in state" fi -log "OTA test passed!" +log "OTA updates test passed!" -echo Cleaning up pubber processes... -(ps ax | fgrep pubber | fgrep java) || true -kill $(ps ax | fgrep pubber | fgrep java | awk '{print $1}') || true +echo Cleaning up pubber background process... +kill $pubber_pid diff --git a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java index e48547057e..0d477124a8 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java +++ b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java @@ -111,7 +111,7 @@ public void updateTo(String payload) { infoLogger.accept("Simulating OTA update delay..."); safeSleep(2000); git.checkout().setName(commitHash).call(); - noticeLogger.accept("JGit OTA update completed successfully."); + noticeLogger.accept("Mock OTA update completed successfully."); } catch (Exception e) { throw new RuntimeException("JGit checkout operation failed", e); } From 2edd2593d7559e95750e077b386e933582aa66f0 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 12:47:54 +0000 Subject: [PATCH 15/22] Rename blob update target and fix validator build --- .gencode_hash.txt | 12 +- gencode/docs/metadata.html | 114 +- ...Model.java => BlobUpdateTestingModel.java} | 8 +- gencode/java/udmi/schema/TestingModel.java | 10 +- gencode/python/udmi/schema/__init__.py | 2 +- gencode/python/udmi/schema/model_testing.py | 4 +- ...testing_ota.py => model_testing_update.py} | 4 +- schema/model_testing.json | 6 +- ...ing_ota.json => model_testing_update.json} | 2 +- .../ota_dependency_mismatch/device_system.log | 1 - .../ota_dependency_mismatch/sequence.log | 24 - .../ota_dependency_mismatch/sequence.md | 5 - .../ota_fetch_failure/config_blobset.attr | 10 - .../ota_fetch_failure/config_blobset.json | 3 - .../ota_fetch_failure/config_discovery.attr | 10 - .../ota_fetch_failure/config_discovery.json | 3 - .../ota_fetch_failure/config_localnet.attr | 10 - .../ota_fetch_failure/config_localnet.json | 3 - .../ota_fetch_failure/config_pointset.attr | 10 - .../ota_fetch_failure/config_pointset.json | 3 - .../ota_fetch_failure/config_system.attr | 10 - .../ota_fetch_failure/config_system.json | 3 - .../ota_fetch_failure/config_update.attr | 10 - .../ota_fetch_failure/config_update.json | 55 - .../ota_fetch_failure/device_system.log | 299 --- .../ota_fetch_failure/events_pointset.attr | 10 - .../ota_fetch_failure/events_pointset.json | 15 - .../ota_fetch_failure/events_system.attr | 10 - .../ota_fetch_failure/events_system.json | 79 - .../ota_fetch_failure/local_blobset.json | 10 - .../ota_fetch_failure/local_discovery.json | 6 - .../ota_fetch_failure/local_localnet.json | 8 - .../ota_fetch_failure/local_pointset.json | 17 - .../ota_fetch_failure/local_system.json | 10 - .../ota_fetch_failure/local_update.json | 45 - .../sequences/ota_fetch_failure/sequence.log | 2140 ----------------- .../sequences/ota_fetch_failure/sequence.md | 10 - .../ota_fetch_failure/state_blobset.attr | 10 - .../ota_fetch_failure/state_blobset.json | 17 - .../ota_fetch_failure/state_discovery.attr | 10 - .../ota_fetch_failure/state_discovery.json | 5 - .../ota_fetch_failure/state_localnet.attr | 10 - .../ota_fetch_failure/state_localnet.json | 18 - .../ota_fetch_failure/state_pointset.attr | 10 - .../ota_fetch_failure/state_pointset.json | 16 - .../ota_fetch_failure/state_system.attr | 10 - .../ota_fetch_failure/state_system.json | 26 - .../ota_fetch_failure/state_update.attr | 10 - .../ota_fetch_failure/state_update.json | 76 - .../ota_fetch_failure/state_validation.attr | 10 - .../ota_fetch_failure/state_validation.json | 3 - .../ota_happy_path/config_blobset.attr | 10 - .../ota_happy_path/config_blobset.json | 3 - .../ota_happy_path/config_discovery.attr | 10 - .../ota_happy_path/config_discovery.json | 3 - .../ota_happy_path/config_localnet.attr | 10 - .../ota_happy_path/config_localnet.json | 3 - .../ota_happy_path/config_pointset.attr | 10 - .../ota_happy_path/config_pointset.json | 3 - .../ota_happy_path/config_system.attr | 10 - .../ota_happy_path/config_system.json | 3 - .../ota_happy_path/config_update.attr | 10 - .../ota_happy_path/config_update.json | 55 - .../ota_happy_path/device_system.log | 184 -- .../ota_happy_path/events_pointset.attr | 10 - .../ota_happy_path/events_pointset.json | 15 - .../ota_happy_path/events_system.attr | 10 - .../ota_happy_path/events_system.json | 11 - .../ota_happy_path/local_blobset.json | 10 - .../ota_happy_path/local_discovery.json | 6 - .../ota_happy_path/local_localnet.json | 8 - .../ota_happy_path/local_pointset.json | 17 - .../ota_happy_path/local_system.json | 10 - .../ota_happy_path/local_update.json | 45 - .../sequences/ota_happy_path/sequence.log | 1498 ------------ .../sequences/ota_happy_path/sequence.md | 11 - .../ota_happy_path/state_blobset.attr | 10 - .../ota_happy_path/state_blobset.json | 10 - .../ota_happy_path/state_discovery.attr | 10 - .../ota_happy_path/state_discovery.json | 5 - .../ota_happy_path/state_localnet.attr | 10 - .../ota_happy_path/state_localnet.json | 18 - .../ota_happy_path/state_pointset.attr | 10 - .../ota_happy_path/state_pointset.json | 16 - .../ota_happy_path/state_system.attr | 10 - .../ota_happy_path/state_system.json | 26 - .../ota_happy_path/state_update.attr | 10 - .../ota_happy_path/state_update.json | 69 - .../ota_happy_path/state_validation.attr | 10 - .../ota_happy_path/state_validation.json | 3 - .../ota_hash_mismatch/device_system.log | 1 - .../sequences/ota_hash_mismatch/sequence.log | 24 - .../sequences/ota_hash_mismatch/sequence.md | 5 - .../sequencer/sequences/BlobsetSequences.java | 46 +- 94 files changed, 102 insertions(+), 5368 deletions(-) rename gencode/java/udmi/schema/{OtaTestingModel.java => BlobUpdateTestingModel.java} (90%) rename gencode/python/udmi/schema/{model_testing_ota.py => model_testing_update.py} (79%) rename schema/{model_testing_ota.json => model_testing_update.json} (93%) delete mode 100644 validator/sequences/ota_dependency_mismatch/device_system.log delete mode 100644 validator/sequences/ota_dependency_mismatch/sequence.log delete mode 100644 validator/sequences/ota_dependency_mismatch/sequence.md delete mode 100644 validator/sequences/ota_fetch_failure/config_blobset.attr delete mode 100644 validator/sequences/ota_fetch_failure/config_blobset.json delete mode 100644 validator/sequences/ota_fetch_failure/config_discovery.attr delete mode 100644 validator/sequences/ota_fetch_failure/config_discovery.json delete mode 100644 validator/sequences/ota_fetch_failure/config_localnet.attr delete mode 100644 validator/sequences/ota_fetch_failure/config_localnet.json delete mode 100644 validator/sequences/ota_fetch_failure/config_pointset.attr delete mode 100644 validator/sequences/ota_fetch_failure/config_pointset.json delete mode 100644 validator/sequences/ota_fetch_failure/config_system.attr delete mode 100644 validator/sequences/ota_fetch_failure/config_system.json delete mode 100644 validator/sequences/ota_fetch_failure/config_update.attr delete mode 100644 validator/sequences/ota_fetch_failure/config_update.json delete mode 100644 validator/sequences/ota_fetch_failure/device_system.log delete mode 100644 validator/sequences/ota_fetch_failure/events_pointset.attr delete mode 100644 validator/sequences/ota_fetch_failure/events_pointset.json delete mode 100644 validator/sequences/ota_fetch_failure/events_system.attr delete mode 100644 validator/sequences/ota_fetch_failure/events_system.json delete mode 100644 validator/sequences/ota_fetch_failure/local_blobset.json delete mode 100644 validator/sequences/ota_fetch_failure/local_discovery.json delete mode 100644 validator/sequences/ota_fetch_failure/local_localnet.json delete mode 100644 validator/sequences/ota_fetch_failure/local_pointset.json delete mode 100644 validator/sequences/ota_fetch_failure/local_system.json delete mode 100644 validator/sequences/ota_fetch_failure/local_update.json delete mode 100644 validator/sequences/ota_fetch_failure/sequence.log delete mode 100644 validator/sequences/ota_fetch_failure/sequence.md delete mode 100644 validator/sequences/ota_fetch_failure/state_blobset.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_blobset.json delete mode 100644 validator/sequences/ota_fetch_failure/state_discovery.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_discovery.json delete mode 100644 validator/sequences/ota_fetch_failure/state_localnet.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_localnet.json delete mode 100644 validator/sequences/ota_fetch_failure/state_pointset.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_pointset.json delete mode 100644 validator/sequences/ota_fetch_failure/state_system.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_system.json delete mode 100644 validator/sequences/ota_fetch_failure/state_update.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_update.json delete mode 100644 validator/sequences/ota_fetch_failure/state_validation.attr delete mode 100644 validator/sequences/ota_fetch_failure/state_validation.json delete mode 100644 validator/sequences/ota_happy_path/config_blobset.attr delete mode 100644 validator/sequences/ota_happy_path/config_blobset.json delete mode 100644 validator/sequences/ota_happy_path/config_discovery.attr delete mode 100644 validator/sequences/ota_happy_path/config_discovery.json delete mode 100644 validator/sequences/ota_happy_path/config_localnet.attr delete mode 100644 validator/sequences/ota_happy_path/config_localnet.json delete mode 100644 validator/sequences/ota_happy_path/config_pointset.attr delete mode 100644 validator/sequences/ota_happy_path/config_pointset.json delete mode 100644 validator/sequences/ota_happy_path/config_system.attr delete mode 100644 validator/sequences/ota_happy_path/config_system.json delete mode 100644 validator/sequences/ota_happy_path/config_update.attr delete mode 100644 validator/sequences/ota_happy_path/config_update.json delete mode 100644 validator/sequences/ota_happy_path/device_system.log delete mode 100644 validator/sequences/ota_happy_path/events_pointset.attr delete mode 100644 validator/sequences/ota_happy_path/events_pointset.json delete mode 100644 validator/sequences/ota_happy_path/events_system.attr delete mode 100644 validator/sequences/ota_happy_path/events_system.json delete mode 100644 validator/sequences/ota_happy_path/local_blobset.json delete mode 100644 validator/sequences/ota_happy_path/local_discovery.json delete mode 100644 validator/sequences/ota_happy_path/local_localnet.json delete mode 100644 validator/sequences/ota_happy_path/local_pointset.json delete mode 100644 validator/sequences/ota_happy_path/local_system.json delete mode 100644 validator/sequences/ota_happy_path/local_update.json delete mode 100644 validator/sequences/ota_happy_path/sequence.log delete mode 100644 validator/sequences/ota_happy_path/sequence.md delete mode 100644 validator/sequences/ota_happy_path/state_blobset.attr delete mode 100644 validator/sequences/ota_happy_path/state_blobset.json delete mode 100644 validator/sequences/ota_happy_path/state_discovery.attr delete mode 100644 validator/sequences/ota_happy_path/state_discovery.json delete mode 100644 validator/sequences/ota_happy_path/state_localnet.attr delete mode 100644 validator/sequences/ota_happy_path/state_localnet.json delete mode 100644 validator/sequences/ota_happy_path/state_pointset.attr delete mode 100644 validator/sequences/ota_happy_path/state_pointset.json delete mode 100644 validator/sequences/ota_happy_path/state_system.attr delete mode 100644 validator/sequences/ota_happy_path/state_system.json delete mode 100644 validator/sequences/ota_happy_path/state_update.attr delete mode 100644 validator/sequences/ota_happy_path/state_update.json delete mode 100644 validator/sequences/ota_happy_path/state_validation.attr delete mode 100644 validator/sequences/ota_happy_path/state_validation.json delete mode 100644 validator/sequences/ota_hash_mismatch/device_system.log delete mode 100644 validator/sequences/ota_hash_mismatch/sequence.log delete mode 100644 validator/sequences/ota_hash_mismatch/sequence.md diff --git a/.gencode_hash.txt b/.gencode_hash.txt index aa6c31a79f..ffd0ea2a1d 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -15,7 +15,7 @@ eafcc3c48189f605f114cde051fea9d13fc5f1a3e395d64fb0a91cb53d4c9aeb gencode/docs/e 13678cdf6642e7da5cf35fd6528c0b46a917f49406398b97439cc065e6e6f4a7 gencode/docs/events_system.html c5df7d044f4588e6a83baf2a2da1e77f37cbfb9d3672f4df1cd1c7ec8dc80a8f gencode/docs/events_udmi.html 62a69395bb4df5b0196d9412133ac00d8af603065248f80a24050ad37c288ee6 gencode/docs/events_validation.html -2d36c00d3fb1a637da3015f2ec6ba58cc5d3ad304234697950092cb95f1a4325 gencode/docs/metadata.html +ba52c5964534f56d8ec36e8cb0cc309ab9c83c9cc784e875d6068d5a32bd541a gencode/docs/metadata.html 5f45fc3e2fbb5dbe78fbd0ca7b343b02ac2e2603e77a7644b84fbc42bffafc49 gencode/docs/monitoring.html 7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html @@ -43,6 +43,7 @@ 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 @@ -110,7 +111,6 @@ a64167bfcec809442cff132bb59ae0600055731407858656cc7147c3a38bb7cc gencode/java/u e986aff1efca08188441a246392f8c524c2cdaae107e475657402872a9a01561 gencode/java/udmi/schema/Monitoring.java 25210c7f94b6369c43c68ed1fefba1ab3dedfe3201352055c536fd5225a4c590 gencode/java/udmi/schema/MonitoringMetric.java aa359e7906a73519482c4eefc717c49c8ef96d288a285cf126605a45201c22b2 gencode/java/udmi/schema/Operation.java -2f85c8213f42b10e949c1cae88c860e8a4345cf3807bc8ead647d0970dff56a2 gencode/java/udmi/schema/OtaTestingModel.java d48a48484965295327ef553a4f8552c44b9345224d7dbb847877c68c1e1b307e gencode/java/udmi/schema/Parameters.java 66ffb9033bcd715dd53e228986c40d2f9b314e01b32c25103b4dadc9bd0e97a5 gencode/java/udmi/schema/Parent.java 416ce4431c48d2b8d3165ba6de7b4665fd3fc2bcd03f01009bd4147f393fbc4c gencode/java/udmi/schema/Physical_tag.java @@ -149,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 -6f22ab868b5b9f819e0084357ad8adde3b8c63f30cd73e42b9377297eefdbcb5 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 @@ -160,7 +160,7 @@ eadc72e31b4796273479967303513b16563af0f946d1e1c7eba1748f9b133d40 gencode/java/u 11f8dab5296d41e86cd623a4ed27b972ae673b141907cb913397d4eb53880c59 gencode/java/udmi/schema/Water.java ac04d38a9e78d08ca61df32f8292c9f99a95479ae950b7dcb12889d5be33491d gencode/presentation/presentation.json 4cf98cbd132cde0cc8813ac35cf3712cb46014154c817c04ad2902c268cdd8fe gencode/python/pyproject.toml -cfa92717836f6b01d99bed0e30952d663577d1a84c7556bbbbb65cfd6f137100 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 @@ -235,9 +235,9 @@ 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 -34895d4f23a87be6959a3f3d5110875d27cfa9dec8d87563600091946ce781d2 gencode/python/udmi/schema/model_testing.py -d12499c4a85a2f7a2e717ba3986a8d02f9a6cf8196efcba9c644d61a8dc0c39d gencode/python/udmi/schema/model_testing_ota.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 67596886f418bb8c9a6f11c1cbda0c0833715d9391c860c3eb514703e810645f gencode/python/udmi/schema/options_pubber.py diff --git a/gencode/docs/metadata.html b/gencode/docs/metadata.html index c609cf3055..5feaa022d5 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -6003,18 +6003,18 @@

-
+
-
+

- +

-
+
Type: object
+ blob_update_targets
Type: object
No Additional Properties @@ -6039,18 +6039,18 @@

-
+
-
+

- +

-
+

@@ -6072,14 +6072,14 @@

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" /> - ota_targets + blob_update_targets - Ota Testing Model

Ota Testing Model

Type: object
+ Blob Update Testing Model

Blob Update Testing Model

Type: object
No Additional Properties @@ -6089,18 +6089,18 @@

-
+
-
+

- +

-
+
Type: string
+ blob_name
Type: string

Blob name for the payload

@@ -6144,18 +6144,18 @@

-
+
-
+

- +

-
+
Type: string
+ url
Type: string

URL for OTA update

@@ -6199,18 +6199,18 @@

-
+
-
+

- +

-
+
Type: string
+ sha256
Type: string

SHA256 hash of the payload

@@ -6254,18 +6254,18 @@

-
+
-
+

- +

-
+
Type: string
+ version
Type: string

Expected software version

diff --git a/gencode/java/udmi/schema/OtaTestingModel.java b/gencode/java/udmi/schema/BlobUpdateTestingModel.java similarity index 90% rename from gencode/java/udmi/schema/OtaTestingModel.java rename to gencode/java/udmi/schema/BlobUpdateTestingModel.java index 41dc8bea7b..78bbc59af9 100644 --- a/gencode/java/udmi/schema/OtaTestingModel.java +++ b/gencode/java/udmi/schema/BlobUpdateTestingModel.java @@ -8,7 +8,7 @@ /** - * Ota Testing Model + * Blob Update Testing Model *

* * @@ -20,7 +20,7 @@ "sha256", "version" }) -public class OtaTestingModel { +public class BlobUpdateTestingModel { /** * Blob name for the payload @@ -66,10 +66,10 @@ public boolean equals(Object other) { if (other == this) { return true; } - if ((other instanceof OtaTestingModel) == false) { + if ((other instanceof BlobUpdateTestingModel) == false) { return false; } - OtaTestingModel rhs = ((OtaTestingModel) other); + 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/TestingModel.java b/gencode/java/udmi/schema/TestingModel.java index 3ae9b0919a..7b0a65493a 100644 --- a/gencode/java/udmi/schema/TestingModel.java +++ b/gencode/java/udmi/schema/TestingModel.java @@ -17,7 +17,7 @@ @JsonPropertyOrder({ "nostate", "targets", - "ota_targets" + "blob_update_targets" }) public class TestingModel { @@ -25,14 +25,14 @@ public class TestingModel { public Boolean nostate; @JsonProperty("targets") public HashMap targets; - @JsonProperty("ota_targets") - public HashMap ota_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.ota_targets == null)? 0 :this.ota_targets.hashCode())); result = ((result* 31)+((this.nostate == null)? 0 :this.nostate.hashCode())); return result; } @@ -46,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.ota_targets == rhs.ota_targets)||((this.ota_targets!= null)&&this.ota_targets.equals(rhs.ota_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 167583640c..382da7022a 100644 --- a/gencode/python/udmi/schema/__init__.py +++ b/gencode/python/udmi/schema/__init__.py @@ -73,8 +73,8 @@ from .model_system import * from .model_system_hardware import * from .model_testing import * -from .model_testing_ota 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/model_testing.py b/gencode/python/udmi/schema/model_testing.py index d0d2b3e1e3..683567312f 100644 --- a/gencode/python/udmi/schema/model_testing.py +++ b/gencode/python/udmi/schema/model_testing.py @@ -7,8 +7,8 @@ from typing import Dict, Optional from ._base import DataModel -from .model_testing_ota import OtaTestingModel from .model_testing_target import TargetTestingModel +from .model_testing_update import BlobUpdateTestingModel @dataclass @@ -19,4 +19,4 @@ class TestingModel(DataModel): nostate: Optional[bool] = None targets: Optional[Dict[str, TargetTestingModel]] = None - ota_targets: Optional[Dict[str, OtaTestingModel]] = None + blob_update_targets: Optional[Dict[str, BlobUpdateTestingModel]] = None diff --git a/gencode/python/udmi/schema/model_testing_ota.py b/gencode/python/udmi/schema/model_testing_update.py similarity index 79% rename from gencode/python/udmi/schema/model_testing_ota.py rename to gencode/python/udmi/schema/model_testing_update.py index 9464127d29..2710c0a104 100644 --- a/gencode/python/udmi/schema/model_testing_ota.py +++ b/gencode/python/udmi/schema/model_testing_update.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: model_testing_ota.json +# filename: model_testing_update.json from __future__ import annotations @@ -10,7 +10,7 @@ @dataclass -class OtaTestingModel(DataModel): +class BlobUpdateTestingModel(DataModel): blob_name: Optional[str] = None url: Optional[str] = None sha256: Optional[str] = None diff --git a/schema/model_testing.json b/schema/model_testing.json index 0441febcd0..f2696ab9a9 100644 --- a/schema/model_testing.json +++ b/schema/model_testing.json @@ -18,12 +18,12 @@ } } }, - "ota_targets": { + "blob_update_targets": { "additionalProperties": false, - "existingJavaType": "java.util.HashMap", + "existingJavaType": "java.util.HashMap", "patternProperties": { "^[a-z][a-z0-9]*(_[a-z0-9]+)*$": { - "$ref": "file:model_testing_ota.json#" + "$ref": "file:model_testing_update.json#" } } } diff --git a/schema/model_testing_ota.json b/schema/model_testing_update.json similarity index 93% rename from schema/model_testing_ota.json rename to schema/model_testing_update.json index 8885672c7f..a7e1101b0b 100644 --- a/schema/model_testing_ota.json +++ b/schema/model_testing_update.json @@ -1,6 +1,6 @@ { "$udmi_version": "1.5.2", - "title": "Ota Testing Model", + "title": "Blob Update Testing Model", "type": "object", "$schema": "http://json-schema.org/draft-04/schema#", "additionalProperties": false, diff --git a/validator/sequences/ota_dependency_mismatch/device_system.log b/validator/sequences/ota_dependency_mismatch/device_system.log deleted file mode 100644 index 9c173054cb..0000000000 --- a/validator/sequences/ota_dependency_mismatch/device_system.log +++ /dev/null @@ -1 +0,0 @@ -TIMESTAMP WARNING validation.feature.sequence Feature bucket updates not enabled diff --git a/validator/sequences/ota_dependency_mismatch/sequence.log b/validator/sequences/ota_dependency_mismatch/sequence.log deleted file mode 100644 index 77b15454a9..0000000000 --- a/validator/sequences/ota_dependency_mismatch/sequence.log +++ /dev/null @@ -1,24 +0,0 @@ -TIMESTAMP NOTICE Starting test ota_dependency_mismatch ################################ -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:81) -TIMESTAMP DEBUG stage done initialize at @0s -TIMESTAMP DEBUG exception message: Feature bucket updates not enabled -TIMESTAMP TRACE ending stack trace: org.junit.AssumptionViolatedException: Feature bucket updates not enabled -TIMESTAMP TRACE ending stack trace: at org.junit.Assume.assumeTrue(Assume.java:68) -TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.SequenceBase.setUp(SequenceBase.java:825) -TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.setUp(BlobsetSequences.java:83) -TIMESTAMP TRACE ending stack trace: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) -TIMESTAMP TRACE ending stack trace: at java.base/java.lang.reflect.Method.invoke(Method.java:580) -TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) -TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) -TIMESTAMP TRACE ending stack trace: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) -TIMESTAMP TRACE ending stack trace: at java.base/java.lang.Thread.run(Thread.java:1583) -TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG -TIMESTAMP NOTICE RESULT skip system.software.updates ota_dependency_mismatch PREVIEW 0/0 Feature bucket updates not enabled -TIMESTAMP WARNING Feature bucket updates not enabled -TIMESTAMP NOTICE Ending test ota_dependency_mismatch after @0s ################################ diff --git a/validator/sequences/ota_dependency_mismatch/sequence.md b/validator/sequences/ota_dependency_mismatch/sequence.md deleted file mode 100644 index 8fe2289dba..0000000000 --- a/validator/sequences/ota_dependency_mismatch/sequence.md +++ /dev/null @@ -1,5 +0,0 @@ - -## ota_dependency_mismatch (PREVIEW) - - -Test skipped: Feature bucket updates not enabled diff --git a/validator/sequences/ota_fetch_failure/config_blobset.attr b/validator/sequences/ota_fetch_failure/config_blobset.attr deleted file mode 100644 index 7305c8cce1..0000000000 --- a/validator/sequences/ota_fetch_failure/config_blobset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/config_blobset.json b/validator/sequences/ota_fetch_failure/config_blobset.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_fetch_failure/config_blobset.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_discovery.attr b/validator/sequences/ota_fetch_failure/config_discovery.attr deleted file mode 100644 index 569b2df142..0000000000 --- a/validator/sequences/ota_fetch_failure/config_discovery.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/config_discovery.json b/validator/sequences/ota_fetch_failure/config_discovery.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_fetch_failure/config_discovery.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_localnet.attr b/validator/sequences/ota_fetch_failure/config_localnet.attr deleted file mode 100644 index ee6a268744..0000000000 --- a/validator/sequences/ota_fetch_failure/config_localnet.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/config_localnet.json b/validator/sequences/ota_fetch_failure/config_localnet.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_fetch_failure/config_localnet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_pointset.attr b/validator/sequences/ota_fetch_failure/config_pointset.attr deleted file mode 100644 index 934aab868e..0000000000 --- a/validator/sequences/ota_fetch_failure/config_pointset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/config_pointset.json b/validator/sequences/ota_fetch_failure/config_pointset.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_fetch_failure/config_pointset.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_system.attr b/validator/sequences/ota_fetch_failure/config_system.attr deleted file mode 100644 index 3426a794e5..0000000000 --- a/validator/sequences/ota_fetch_failure/config_system.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/config_system.json b/validator/sequences/ota_fetch_failure/config_system.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_fetch_failure/config_system.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/config_update.attr b/validator/sequences/ota_fetch_failure/config_update.attr deleted file mode 100644 index 6990e5f4c7..0000000000 --- a/validator/sequences/ota_fetch_failure/config_update.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/config_update.json b/validator/sequences/ota_fetch_failure/config_update.json deleted file mode 100644 index ea4f9bbf61..0000000000 --- a/validator/sequences/ota_fetch_failure/config_update.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "timestamp" : "TIMESTAMP", - "version" : "@@@cloud udmi version###git-810075ff-dirty", - "system" : { - "min_loglevel" : 100, - "metrics_rate_sec" : 10, - "operation" : { - "last_start" : "TIMESTAMP" - }, - "testing" : { - "sequence_name" : "ota_fetch_failure" - } - }, - "discovery" : { - "families" : { - "vendor" : { }, - "bacnet" : { } - } - }, - "localnet" : { - "families" : { - "ether" : { }, - "ipv4" : { }, - "vendor" : { }, - "bacnet" : { } - } - }, - "blobset" : { - "blobs" : { - "pubber_module" : { - "phase" : "final", - "url" : "@@@software data###https://invalid.url/missing.bin", - "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/ota_fetch_failure/device_system.log b/validator/sequences/ota_fetch_failure/device_system.log deleted file mode 100644 index f23cb60589..0000000000 --- a/validator/sequences/ota_fetch_failure/device_system.log +++ /dev/null @@ -1,299 +0,0 @@ -TIMESTAMP DEBUG device.log Git: Note: switching to 'v2'. -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: You are in 'detached HEAD' state. You can look around, make experimental -TIMESTAMP DEBUG device.log Git: changes and commit them, and you can discard any commits you make in this -TIMESTAMP DEBUG device.log Git: state without impacting any branches by switching back to a branch. -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: If you want to create a new branch to retain commits you create, you may -TIMESTAMP DEBUG device.log Git: do so (now or later) by using -c with the switch command. Example: -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: git switch -c -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: Or undo this operation with: -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: git switch - -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: Turn off this advice by setting config variable advice.detachedHead to false -TIMESTAMP DEBUG device.log Git: -TIMESTAMP DEBUG device.log Git: HEAD is now at a55c275 v2 -TIMESTAMP NOTICE device.log Git OTA update completed successfully. -TIMESTAMP NOTICE device.log Blob pubber_module successfully applied -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP for blob key 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 NOTICE device.log Post-processing Git OTA update. Restarting... -TIMESTAMP -TIMESTAMP WARNING device.log State update delay 1998ms -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 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-2876, mac null, gateway null, options -TIMESTAMP INFO device.log Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo -TIMESTAMP INFO device.log Isolated repo initialized. -TIMESTAMP WARNING device.log Starting connection 1775639691183 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 INFO device.log Connection complete. -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 DEBUG device.log Restoring unknown point filter_alarm_pressure_status -TIMESTAMP WARNING device.log Ending connection 1775639691183 with 1 -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 NOTICE system.config.apply success -TIMESTAMP DEBUG device.log State update defer -1775639690098ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -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 (ota_happy_path) -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 1865ms -TIMESTAMP DEBUG device.log State update defer 1864ms -TIMESTAMP DEBUG device.log State update defer 1863ms -TIMESTAMP DEBUG device.log State update defer 1863ms -TIMESTAMP DEBUG device.log State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer 27ms -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update defer 26ms -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 23ms -TIMESTAMP DEBUG device.log State update defer 22ms -TIMESTAMP DEBUG device.log State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer 1873ms -TIMESTAMP DEBUG device.log State update defer 1872ms -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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 1870ms -TIMESTAMP DEBUG device.log State update defer 1869ms -TIMESTAMP DEBUG device.log State update defer 1081ms -TIMESTAMP INFO device.log sending AHU-1 message #0 with 3 points -TIMESTAMP DEBUG device.log State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG device.log State update defer 943ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update defer 942ms -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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 937ms -TIMESTAMP DEBUG device.log State update defer 936ms -TIMESTAMP DEBUG device.log State update defer 936ms -TIMESTAMP DEBUG device.log State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -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 device.log State update defer -1101ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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 1998ms -TIMESTAMP DEBUG device.log State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG device.log State update defer -1313ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -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 DEBUG device.log State update defer 1995ms -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 1748ms -TIMESTAMP DEBUG device.log State update defer 1747ms -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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 1743ms -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG device.log State update defer 860ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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 857ms -TIMESTAMP DEBUG device.log State update defer 856ms -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG device.log State update defer 639ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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 device.log State update defer 636ms -TIMESTAMP NOTICE system.config.apply success -TIMESTAMP DEBUG device.log State update defer 635ms -TIMESTAMP DEBUG device.log State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG device.log State update defer 1481ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_fetch_failure) -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.apply Received blob update config for pubber_module -TIMESTAMP -TIMESTAMP WARNING device.log State update delay 1476ms -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG blobset.blob.apply Fetching blob data for pubber_module -TIMESTAMP DEBUG blobset.blob.apply Successfully fetched blob data for pubber_module -TIMESTAMP INFO device.log Triggering Git OTA update to commit { - "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" -} -TIMESTAMP NOTICE blobset.blob.apply Applying Git OTA update to commit { - "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" -} -TIMESTAMP INFO device.log Simulating OTA update delay... -TIMESTAMP DEBUG device.log Git: error: pathspec '{ -TIMESTAMP DEBUG device.log Git: "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" -TIMESTAMP DEBUG device.log Git: }' did not match any file(s) known to git -TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Git operation failed -TIMESTAMP ERROR blobset.blob.fetch.failure Git operation failed -TIMESTAMP DEBUG device.log State update defer -18029ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP NOTICE system.config.apply success -TIMESTAMP DEBUG device.log State update defer 2000ms -TIMESTAMP DEBUG device.log State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_fetch_failure) -TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/ota_fetch_failure/events_pointset.attr b/validator/sequences/ota_fetch_failure/events_pointset.attr deleted file mode 100644 index 8ccded75fa..0000000000 --- a/validator/sequences/ota_fetch_failure/events_pointset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/events_pointset.json b/validator/sequences/ota_fetch_failure/events_pointset.json deleted file mode 100644 index d286b459f2..0000000000 --- a/validator/sequences/ota_fetch_failure/events_pointset.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "points" : { - "filter_alarm_pressure_status" : { - "present_value" : true - }, - "filter_differential_pressure_setpoint" : { - "present_value" : 98 - }, - "filter_differential_pressure_sensor" : { - "present_value" : 10 - } - }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/events_system.attr b/validator/sequences/ota_fetch_failure/events_system.attr deleted file mode 100644 index 0263ddbd34..0000000000 --- a/validator/sequences/ota_fetch_failure/events_system.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/events_system.json b/validator/sequences/ota_fetch_failure/events_system.json deleted file mode 100644 index 8e1f1e46cf..0000000000 --- a/validator/sequences/ota_fetch_failure/events_system.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "event_no" : 6, - "last_config" : "TIMESTAMP", - "logentries" : [ { - "message" : "Git: error: pathspec '{", - "category" : "device.log", - "timestamp" : "TIMESTAMP", - "level" : 100 - }, { - "message" : "Git: \"error\" : \"java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin\"", - "category" : "device.log", - "timestamp" : "TIMESTAMP", - "level" : 100 - }, { - "message" : "Git: }' did not match any file(s) known to git", - "category" : "device.log", - "timestamp" : "TIMESTAMP", - "level" : 100 - }, { - "message" : "Failed to apply blob pubber_module: Git operation failed", - "category" : "device.log", - "timestamp" : "TIMESTAMP", - "level" : 500 - }, { - "message" : "Git operation failed", - "detail" : "java.lang.RuntimeException: Git operation failed;java.lang.RuntimeException: Command failed with exit code 1;", - "category" : "blobset.blob.fetch.failure", - "timestamp" : "TIMESTAMP", - "level" : 500 - }, { - "message" : "State update defer -18029ms", - "category" : "device.log", - "timestamp" : "TIMESTAMP", - "level" : 100 - }, { - "message" : "Update state TIMESTAMP", - "category" : "device.log", - "timestamp" : "TIMESTAMP", - "level" : 200 - }, { - "message" : "State update AHU-1 (ota_fetch_failure)", - "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 2000ms", - "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 (ota_fetch_failure)", - "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" : 160.0, - "mem_free_mb" : 130.81141662597656 - }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_blobset.json b/validator/sequences/ota_fetch_failure/local_blobset.json deleted file mode 100644 index 6b9a324a8e..0000000000 --- a/validator/sequences/ota_fetch_failure/local_blobset.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "blobs" : { - "pubber_module" : { - "phase" : "final", - "url" : "@@@software data###https://invalid.url/missing.bin", - "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", - "generation" : "TIMESTAMP" - } - } -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_discovery.json b/validator/sequences/ota_fetch_failure/local_discovery.json deleted file mode 100644 index 9c2dd36cff..0000000000 --- a/validator/sequences/ota_fetch_failure/local_discovery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "families" : { - "vendor" : { }, - "bacnet" : { } - } -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_localnet.json b/validator/sequences/ota_fetch_failure/local_localnet.json deleted file mode 100644 index 4b6e825e32..0000000000 --- a/validator/sequences/ota_fetch_failure/local_localnet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "families" : { - "ether" : { }, - "ipv4" : { }, - "vendor" : { }, - "bacnet" : { } - } -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_pointset.json b/validator/sequences/ota_fetch_failure/local_pointset.json deleted file mode 100644 index d1bb5731e9..0000000000 --- a/validator/sequences/ota_fetch_failure/local_pointset.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "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/ota_fetch_failure/local_system.json b/validator/sequences/ota_fetch_failure/local_system.json deleted file mode 100644 index 9baa13bae5..0000000000 --- a/validator/sequences/ota_fetch_failure/local_system.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "min_loglevel" : 100, - "metrics_rate_sec" : 10, - "operation" : { - "last_start" : "TIMESTAMP" - }, - "testing" : { - "sequence_name" : "ota_fetch_failure" - } -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/local_update.json b/validator/sequences/ota_fetch_failure/local_update.json deleted file mode 100644 index 8a47077ef1..0000000000 --- a/validator/sequences/ota_fetch_failure/local_update.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "timestamp" : "TIMESTAMP", - "version" : "@@@cloud udmi version###git-810075ff-dirty", - "system" : { - "min_loglevel" : 100, - "metrics_rate_sec" : 10, - "operation" : { - "last_start" : "TIMESTAMP" - }, - "testing" : { - "sequence_name" : "ota_fetch_failure" - } - }, - "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/ota_fetch_failure/sequence.log b/validator/sequences/ota_fetch_failure/sequence.log deleted file mode 100644 index 9df70e3f49..0000000000 --- a/validator/sequences/ota_fetch_failure/sequence.log +++ /dev/null @@ -1,2140 +0,0 @@ -TIMESTAMP NOTICE Starting test ota_fetch_failure ################################ -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:81) -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:791) -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:791) -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:791) -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:1407) -TIMESTAMP is -6020ms -TIMESTAMP TRACE Updated check config_update: true -TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -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/system as MP:638f54ef-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-2876", -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" : "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:638f54ef-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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:638f54ef-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:638f54ef-1 -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:638f54ef-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:638f54ef-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:638f54ef-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:638f54ef-3 -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:638f54ef-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:638f54ef-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:6b34b76c -TIMESTAMP DEBUG device.log: Git: Note: switching to 'v2'. -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: You are in 'detached HEAD' state. You can look around, make experimental -TIMESTAMP DEBUG device.log: Git: changes and commit them, and you can discard any commits you make in this -TIMESTAMP DEBUG device.log: Git: state without impacting any branches by switching back to a branch. -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: If you want to create a new branch to retain commits you create, you may -TIMESTAMP DEBUG device.log: Git: do so (now or later) by using -c with the switch command. Example: -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: git switch -c -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: Or undo this operation with: -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: git switch - -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: Turn off this advice by setting config variable advice.detachedHead to false -TIMESTAMP DEBUG device.log: Git: -TIMESTAMP DEBUG device.log: Git: HEAD is now at a55c275 v2 -TIMESTAMP NOTICE device.log: Git OTA update completed successfully. -TIMESTAMP NOTICE device.log: Blob pubber_module successfully applied -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP for blob key 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 NOTICE device.log: Post-processing Git OTA update. Restarting... -TIMESTAMP -TIMESTAMP WARNING device.log: State update delay 1998ms -TIMESTAMP DEBUG Handling device message events_system MP:6b34b76c -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:1b39fc.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:1b39fc.0000000e -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:1b39fc.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:1b39fc.0000000f -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:71ea5149 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:71ea5149 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:71ea5149 -TIMESTAMP INFO Updated state #012: Changed 2 fields: -TIMESTAMP INFO Updated state #012: Set `system.operation.mode` = `restart` -TIMESTAMP` -TIMESTAMP NOTICE Received serial number sequencer-2876 -TIMESTAMP (expecting null) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:71ea5149-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-2876", -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" : "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:71ea5149-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:71ea5149-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:71ea5149-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:71ea5149-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:71ea5149-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:71ea5149-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:71ea5149-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:71ea5149-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:71ea5149-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:43b3d895 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:43b3d895 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:43b3d895 -TIMESTAMP INFO Updated state #013: Changed 10 fields: -TIMESTAMP INFO Updated state #013: Set `system.operation.mode` = `initial` -TIMESTAMP INFO Updated state #013: Set `system.operation.restart_count` = `2` -TIMESTAMP` -TIMESTAMP INFO Updated state #013: Set `system.status.level` = `300` -TIMESTAMP INFO Updated state #013: Set `system.status.category` = `system.config.apply` -TIMESTAMP` -TIMESTAMP INFO Updated state #013: Add `pointset.points.filter_alarm_pressure_status.value_state` = `updating` -TIMESTAMP INFO Updated state #013: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `updating` -TIMESTAMP INFO Updated state #013: Add `pointset.points.filter_differential_pressure_sensor.value_state` = `updating` -TIMESTAMP` -TIMESTAMP (expecting null) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:43b3d895-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-2876", -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" : "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:43b3d895-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:43b3d895-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:43b3d895-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:43b3d895-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:43b3d895-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:43b3d895-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:43b3d895-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:43b3d895-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:43b3d895-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as MP:43b3d895 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update MP:43b3d895 -TIMESTAMP -TIMESTAMP MP:43b3d895 -TIMESTAMP INFO Updated config #010: Changed 2 fields: -TIMESTAMP INFO Updated config #010: Set `system.testing.sequence_name` = `ota_fetch_failure` -TIMESTAMP INFO Updated config #010: Remove `blobset` -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f248e046 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:f248e046 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:f248e046 -TIMESTAMP INFO Updated state #014: Changed 4 fields: -TIMESTAMP INFO Updated state #014: Remove `pointset.points.filter_alarm_pressure_status.value_state` -TIMESTAMP INFO Updated state #014: Set `pointset.points.filter_differential_pressure_setpoint.value_state` = `applied` -TIMESTAMP INFO Updated state #014: 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:f248e046-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-2876", -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" : "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:f248e046-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f248e046-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:f248e046-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f248e046-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:f248e046-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:f248e046-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:f248e046-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f248e046-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:f248e046-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000010 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000010 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000010 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000010 -TIMESTAMP INFO Updated config #011: Changed 0 fields. -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:1b39fc.00000010 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000010 -TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000010 -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:9569d95f -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:9569d95f -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:9569d95f -TIMESTAMP INFO Updated state #015: Changed 3 fields: -TIMESTAMP` -TIMESTAMP` -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:9569d95f-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-2876", -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" : "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:9569d95f-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Detail config update synchronized is now: last_start not synced in config -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:9569d95f-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:9569d95f-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:9569d95f-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:9569d95f-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:9569d95f-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:9569d95f-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:9569d95f-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:9569d95f-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as MP:9569d95f -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update MP:9569d95f -TIMESTAMP -TIMESTAMP MP:9569d95f -TIMESTAMP INFO Updated config #012: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:3d4ba8c7 -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" : 10 -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:3d4ba8c7 -TIMESTAMP DEBUG Capturing AHU-1 message events_pointset -TIMESTAMP DEBUG Detail config update synchronized is now: null -TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @9s after 1s -TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @9s -TIMESTAMP DEBUG Config sync took 1s -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 @9s -TIMESTAMP INFO Stage start waiting for config update synchronized at @9s -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:bec052b2 -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: 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-2876, mac null, gateway null, options -TIMESTAMP INFO device.log: Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo -TIMESTAMP INFO device.log: Isolated repo initialized. -TIMESTAMP WARNING device.log: Starting connection 1775639691183 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 INFO device.log: Connection complete. -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 DEBUG device.log: Restoring unknown point filter_alarm_pressure_status -TIMESTAMP WARNING device.log: Ending connection 1775639691183 with 1 -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 NOTICE system.config.apply: success -TIMESTAMP DEBUG device.log: State update defer -1775639690098ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -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 (ota_happy_path) -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 1865ms -TIMESTAMP DEBUG device.log: State update defer 1864ms -TIMESTAMP DEBUG device.log: State update defer 1863ms -TIMESTAMP DEBUG device.log: State update defer 1863ms -TIMESTAMP DEBUG device.log: State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer 27ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update defer 26ms -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 23ms -TIMESTAMP DEBUG device.log: State update defer 22ms -TIMESTAMP DEBUG device.log: State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer 1873ms -TIMESTAMP DEBUG device.log: State update defer 1872ms -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 1870ms -TIMESTAMP DEBUG device.log: State update defer 1869ms -TIMESTAMP DEBUG device.log: State update defer 1081ms -TIMESTAMP DEBUG Handling device message events_system MP:bec052b2 -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @10s after 1s -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 981ms -TIMESTAMP DEBUG Rate-limiting config by 981ms -TIMESTAMP TRACE Updated check config_update: true -TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.00000011 -TIMESTAMP -TIMESTAMP, because initial setup -TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @11s -TIMESTAMP INFO Stage start waiting for config update synchronized at @11s -TIMESTAMP DEBUG Received command null/config/udmi as null -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:963e9a1f -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:963e9a1f -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:963e9a1f -TIMESTAMP INFO Updated state #016: Changed 1 fields: -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:963e9a1f-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-2876", -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" : "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:963e9a1f-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:963e9a1f-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:963e9a1f-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:963e9a1f-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:963e9a1f-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:963e9a1f-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:963e9a1f-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:963e9a1f-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:963e9a1f-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000011 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000011 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000011 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000011 -TIMESTAMP INFO Updated config #013: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/update as CU:1b39fc.00000011 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000011 -TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000011 -TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:e51123c2 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:e51123c2 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:e51123c2 -TIMESTAMP INFO Updated state #017: Changed 3 fields: -TIMESTAMP` -TIMESTAMP` -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Detail config update synchronized is now: null -TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @13s after 2s -TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @13s -TIMESTAMP DEBUG Config sync took 2s -TIMESTAMP DEBUG Finished wait for config sync pending: null -TIMESTAMP -TIMESTAMP -TIMESTAMP -TIMESTAMP DEBUG Waiting for device stateTransaction RC:1b39fc.00000013 (was null) -TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @13s -TIMESTAMP INFO Stage start waiting for state query at @13s -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:e51123c2-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-2876", -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" : "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:e51123c2-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:e51123c2-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:e51123c2-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:e51123c2-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:e51123c2-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:e51123c2-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:e51123c2-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:e51123c2-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:e51123c2-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as RC:1b39fc.00000013 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update RC:1b39fc.00000013 -TIMESTAMP DEBUG Removed stateTransaction RC:1b39fc.00000013 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP RC:1b39fc.00000013 -TIMESTAMP INFO Updated state #018: Changed 0 fields. -TIMESTAMP) -TIMESTAMP DEBUG Stage finished waiting for state query at @14s after 1s -TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @14s -TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @14s -TIMESTAMP INFO Stage start waiting for initial device state at @14s -TIMESTAMP is 977ms -TIMESTAMP DEBUG Rate-limiting config by 977ms -TIMESTAMP TRACE Updated check config_update: true -TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.00000014 -TIMESTAMP -TIMESTAMP, because before initial device state -TIMESTAMP TRACE Stage suspend waiting for initial device state at @15s -TIMESTAMP INFO Stage start waiting for config update synchronized at @15s -TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:1b39fc.00000013 -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e22043ae -TIMESTAMP INFO device.log: sending AHU-1 message #0 with 3 points -TIMESTAMP DEBUG device.log: State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG device.log: State update defer 943ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update defer 942ms -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 937ms -TIMESTAMP DEBUG device.log: State update defer 936ms -TIMESTAMP DEBUG device.log: State update defer 936ms -TIMESTAMP DEBUG device.log: State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG Handling device message events_system MP:e22043ae -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:78f5b3bf -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:78f5b3bf -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:78f5b3bf -TIMESTAMP INFO Updated state #019: Changed 4 fields: -TIMESTAMP INFO Updated state #019: Set `system.status.level` = `100` -TIMESTAMP INFO Updated state #019: Set `system.status.category` = `system.config.parse` -TIMESTAMP` -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000014 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000014 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000014 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000014 -TIMESTAMP INFO Updated config #014: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/update as CU:1b39fc.00000014 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000014 -TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000014 -TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:78f5b3bf-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-2876", -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" : "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:78f5b3bf-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:78f5b3bf-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:78f5b3bf-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:78f5b3bf-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:78f5b3bf-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:78f5b3bf-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:78f5b3bf-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:78f5b3bf-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:78f5b3bf-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:41ba25a1 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:41ba25a1 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:41ba25a1 -TIMESTAMP INFO Updated state #020: Changed 4 fields: -TIMESTAMP` -TIMESTAMP INFO Updated state #020: Set `system.status.level` = `300` -TIMESTAMP INFO Updated state #020: 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 @18s after 3s -TIMESTAMP TRACE Stage resume waiting for initial device state at @18s -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 @18s after 4s -TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @18s -TIMESTAMP DEBUG Device state system status level is now 300 -TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @18s -TIMESTAMP INFO Stage start waiting for config update synchronized at @18s -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:41ba25a1-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-2876", -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" : "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:41ba25a1-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:41ba25a1-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:41ba25a1-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @18s after 0s -TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @18s -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 @18s -TIMESTAMP INFO Stage start waiting for executing test at @18s -TIMESTAMP DEBUG stage begin waiting for executing test at @18s -TIMESTAMP DEBUG Allowing device state change blobset -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:1b39fc.00000015 -TIMESTAMP TRACE Updated check config_pointset: true -TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:1b39fc.00000016 -TIMESTAMP TRACE Updated check config_gateway: false -TIMESTAMP TRACE Updated check config_localnet: true -TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:1b39fc.00000017 -TIMESTAMP TRACE Updated check config_blobset: true -TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:1b39fc.00000018 -TIMESTAMP TRACE Updated check config_discovery: true -TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:1b39fc.00000019 -TIMESTAMP -TIMESTAMP, because trigger ota update for pubber_module -TIMESTAMP TRACE Stage suspend waiting for executing test at @20s -TIMESTAMP INFO Stage start waiting for config update synchronized at @20s -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:41ba25a1-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:41ba25a1-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:41ba25a1-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:41ba25a1-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:41ba25a1-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:41ba25a1-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000015 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000015 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000015 -TIMESTAMP -TIMESTAMP RC:1b39fc.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 Received command AHU-1/state/update as MP:1c5ebea2 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:1c5ebea2 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:1c5ebea2 -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 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:1b39fc.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:1b39fc.00000015 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000015 -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:1c5ebea2-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-2876", -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" : "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:1c5ebea2-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:1c5ebea2-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:1c5ebea2-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:1c5ebea2-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:1c5ebea2-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:1c5ebea2-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:1c5ebea2-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:1c5ebea2-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:1c5ebea2-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000019 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000019 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000019 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000019 -TIMESTAMP INFO Updated config #016: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:1b39fc.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:1b39fc.00000019 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000019 -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000017 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000017 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000017 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000017 -TIMESTAMP INFO Updated config #017: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:1b39fc.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:1b39fc.00000017 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000017 -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000016 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000016 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000016 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000016 -TIMESTAMP INFO Updated config #018: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:1b39fc.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:1b39fc.00000016 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000016 -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:30ca1f07 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:30ca1f07 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:30ca1f07 -TIMESTAMP INFO Updated state #022: Changed 5 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) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:30ca1f07-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-2876", -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" : "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:30ca1f07-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:30ca1f07-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:30ca1f07-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:30ca1f07-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:30ca1f07-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:30ca1f07-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:30ca1f07-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:30ca1f07-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:30ca1f07-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000018 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000018 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000018 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000018 -TIMESTAMP INFO Updated config #019: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:1b39fc.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:1b39fc.00000018 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000018 -TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:7590d574 -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 device.log: State update defer -1101ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 1998ms -TIMESTAMP DEBUG device.log: State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG device.log: State update defer -1313ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -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 DEBUG device.log: State update defer 1995ms -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 1748ms -TIMESTAMP DEBUG device.log: State update defer 1747ms -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 1743ms -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG device.log: State update defer 860ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 857ms -TIMESTAMP DEBUG device.log: State update defer 856ms -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG device.log: State update defer 639ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 device.log: State update defer 636ms -TIMESTAMP NOTICE system.config.apply: success -TIMESTAMP DEBUG device.log: State update defer 635ms -TIMESTAMP DEBUG device.log: State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG device.log: State update defer 1481ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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.apply: Received blob update config for pubber_module -TIMESTAMP -TIMESTAMP WARNING device.log: State update delay 1476ms -TIMESTAMP DEBUG Handling device message events_system MP:7590d574 -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:1922d9c1 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:1922d9c1 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:1922d9c1 -TIMESTAMP INFO Updated state #023: Changed 7 fields: -TIMESTAMP` -TIMESTAMP INFO Updated state #023: Set `system.status.level` = `100` -TIMESTAMP INFO Updated state #023: Set `system.status.category` = `system.config.parse` -TIMESTAMP` -TIMESTAMP INFO Updated state #023: Set `blobset.blobs.pubber_module.phase` = `apply` -TIMESTAMP` -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Detail config update synchronized is now: null -TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @25s after 5s -TIMESTAMP TRACE Stage resume waiting for executing test at @25s -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 ota 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 ota 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 @25s -TIMESTAMP INFO Stage start waiting for pubber_module phase is APPLY at @25s -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 APPLY -TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is APPLY at @27s after 2s -TIMESTAMP TRACE Stage resume waiting for executing test at @27s -TIMESTAMP TRACE Stage suspend waiting for executing test at @27s -TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.fetch.failure` 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 -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 device.log: State update defer -1101ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_fetch_failure) -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 1998ms -TIMESTAMP DEBUG device.log: State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:1922d9c1-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-2876", -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" : "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:1922d9c1-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:1922d9c1-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:1922d9c1-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:1922d9c1-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:1922d9c1-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:1922d9c1-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:1922d9c1-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:1922d9c1-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:1922d9c1-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:04b4536c -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG blobset.blob.apply: Fetching blob data for pubber_module -TIMESTAMP DEBUG blobset.blob.apply: Successfully fetched blob data for pubber_module -TIMESTAMP INFO device.log: Triggering Git OTA update to commit { - "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" -} -TIMESTAMP NOTICE blobset.blob.apply: Applying Git OTA update to commit { - "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" -} -TIMESTAMP INFO device.log: Simulating OTA update delay... -TIMESTAMP DEBUG Handling device message events_system MP:04b4536c -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:672de72d -TIMESTAMP DEBUG Received events_system (no logs) -TIMESTAMP DEBUG Handling device message events_system MP:672de72d -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a4aec2c4 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:a4aec2c4 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:a4aec2c4 -TIMESTAMP INFO Updated state #024: Changed 3 fields: -TIMESTAMP INFO Updated state #024: Set `blobset.blobs.pubber_module.phase` = `final` -TIMESTAMP INFO Updated state #024: Add `blobset.blobs.pubber_module.status` = { "level": `500`, "detail": `java.lang.RuntimeException: Git operation failed... -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a4aec2c4-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-2876", -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" : "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:a4aec2c4-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a4aec2c4-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:a4aec2c4-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a4aec2c4-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:a4aec2c4-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:a4aec2c4-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" : "Git operation failed", -TIMESTAMP TRACE Received state_blobset: "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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:a4aec2c4-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a4aec2c4-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:a4aec2c4-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ce16bb53 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:ce16bb53 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:ce16bb53 -TIMESTAMP INFO Updated state #025: Changed 4 fields: -TIMESTAMP INFO Updated state #025: Set `system.status.level` = `300` -TIMESTAMP INFO Updated state #025: Set `system.status.category` = `system.config.apply` -TIMESTAMP` -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:ce16bb53-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-2876", -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" : "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:ce16bb53-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ce16bb53-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:ce16bb53-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ce16bb53-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:ce16bb53-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:ce16bb53-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" : "Git operation failed", -TIMESTAMP TRACE Received state_blobset: "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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:ce16bb53-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ce16bb53-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:ce16bb53-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:6edc7508 -TIMESTAMP DEBUG device.log: Git: error: pathspec '{ -TIMESTAMP DEBUG device.log: Git: "error" : "java.lang.RuntimeException: URL encoding not supported: https://invalid.url/missing.bin" -TIMESTAMP DEBUG device.log: Git: }' did not match any file(s) known to git -TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Git operation failed -TIMESTAMP ERROR blobset.blob.fetch.failure: Git operation failed -TIMESTAMP DEBUG device.log: State update defer -18029ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP NOTICE system.config.apply: success -TIMESTAMP DEBUG device.log: State update defer 2000ms -TIMESTAMP DEBUG device.log: State update defer -1ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_fetch_failure) -TIMESTAMP DEBUG Handling device message events_system MP:6edc7508 -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP ERROR blobset.blob.fetch.failure: Git operation failed -TIMESTAMP DEBUG Detail system logs level `ERROR` category `blobset.blob.fetch.failure` is now: null -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 @54s after 27s -TIMESTAMP TRACE Stage resume waiting for executing test at @54s -TIMESTAMP TRACE Stage suspend waiting for executing test at @54s -TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL and status is not null at @54s -TIMESTAMP is -23086ms -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 and status is not null -TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL and status is not null at @54s after 0s -TIMESTAMP TRACE Stage resume waiting for executing test at @54s -TIMESTAMP DEBUG stage done waiting for executing test at @54s -TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG -TIMESTAMP NOTICE RESULT pass system.software.updates ota_fetch_failure PREVIEW 10/10 Sequence complete -TIMESTAMP NOTICE Sequence complete -TIMESTAMP NOTICE Ending test ota_fetch_failure after @54s ################################ diff --git a/validator/sequences/ota_fetch_failure/sequence.md b/validator/sequences/ota_fetch_failure/sequence.md deleted file mode 100644 index 24e246ef7c..0000000000 --- a/validator/sequences/ota_fetch_failure/sequence.md +++ /dev/null @@ -1,10 +0,0 @@ - -## ota_fetch_failure (PREVIEW) - -1. Update config trigger ota 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 is APPLY -1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` -1. Wait for pubber_module phase is FINAL and status is not null - -Test passed. diff --git a/validator/sequences/ota_fetch_failure/state_blobset.attr b/validator/sequences/ota_fetch_failure/state_blobset.attr deleted file mode 100644 index e2a4e394d7..0000000000 --- a/validator/sequences/ota_fetch_failure/state_blobset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_blobset.json b/validator/sequences/ota_fetch_failure/state_blobset.json deleted file mode 100644 index 36062a0d0f..0000000000 --- a/validator/sequences/ota_fetch_failure/state_blobset.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "blobs" : { - "pubber_module" : { - "phase" : "final", - "status" : { - "message" : "Git operation failed", - "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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/ota_fetch_failure/state_discovery.attr b/validator/sequences/ota_fetch_failure/state_discovery.attr deleted file mode 100644 index f16e42693d..0000000000 --- a/validator/sequences/ota_fetch_failure/state_discovery.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_discovery.json b/validator/sequences/ota_fetch_failure/state_discovery.json deleted file mode 100644 index 03510b9d7c..0000000000 --- a/validator/sequences/ota_fetch_failure/state_discovery.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "families" : { }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_fetch_failure/state_localnet.attr b/validator/sequences/ota_fetch_failure/state_localnet.attr deleted file mode 100644 index 13973d809a..0000000000 --- a/validator/sequences/ota_fetch_failure/state_localnet.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_localnet.json b/validator/sequences/ota_fetch_failure/state_localnet.json deleted file mode 100644 index f58bb2de5b..0000000000 --- a/validator/sequences/ota_fetch_failure/state_localnet.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "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/ota_fetch_failure/state_pointset.attr b/validator/sequences/ota_fetch_failure/state_pointset.attr deleted file mode 100644 index 0d00c71c97..0000000000 --- a/validator/sequences/ota_fetch_failure/state_pointset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_pointset.json b/validator/sequences/ota_fetch_failure/state_pointset.json deleted file mode 100644 index 642744656c..0000000000 --- a/validator/sequences/ota_fetch_failure/state_pointset.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "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/ota_fetch_failure/state_system.attr b/validator/sequences/ota_fetch_failure/state_system.attr deleted file mode 100644 index 14f9483862..0000000000 --- a/validator/sequences/ota_fetch_failure/state_system.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_system.json b/validator/sequences/ota_fetch_failure/state_system.json deleted file mode 100644 index 6bd75f74d1..0000000000 --- a/validator/sequences/ota_fetch_failure/state_system.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "hardware" : { - "make" : "BOS", - "model" : "pubber" - }, - "last_config" : "TIMESTAMP", - "operation" : { - "operational" : true, - "last_start" : "TIMESTAMP", - "restart_count" : 2, - "mode" : "initial" - }, - "serial_no" : "sequencer-2876", - "software" : { - "firmware" : "v1", - "pubber_module" : "v2" - }, - "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/ota_fetch_failure/state_update.attr b/validator/sequences/ota_fetch_failure/state_update.attr deleted file mode 100644 index cb34f853da..0000000000 --- a/validator/sequences/ota_fetch_failure/state_update.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_update.json b/validator/sequences/ota_fetch_failure/state_update.json deleted file mode 100644 index aade8ff050..0000000000 --- a/validator/sequences/ota_fetch_failure/state_update.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "blobset" : { - "blobs" : { - "pubber_module" : { - "phase" : "final", - "status" : { - "message" : "Git operation failed", - "detail" : "java.lang.RuntimeException: Git operation failed\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:211)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleBlob(PubberPublisherHost.java:180)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:221)\n\tat udmi.lib.client.host.PublisherHost.processBlobConfig(PublisherHost.java:182)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:620)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:565)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.RuntimeException: Command failed with exit code 1\n\tat daq.pubber.impl.host.PubberPublisherHost.runCommandInDir(PubberPublisherHost.java:232)\n\tat daq.pubber.impl.host.PubberPublisherHost.handleOtaUpdate(PubberPublisherHost.java:208)\n\t... 11 more\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" : 2, - "mode" : "initial" - }, - "serial_no" : "sequencer-2876", - "hardware" : { - "make" : "BOS", - "model" : "pubber" - }, - "software" : { - "firmware" : "v1", - "pubber_module" : "v2" - }, - "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/ota_fetch_failure/state_validation.attr b/validator/sequences/ota_fetch_failure/state_validation.attr deleted file mode 100644 index a7d02d31e6..0000000000 --- a/validator/sequences/ota_fetch_failure/state_validation.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_fetch_failure/state_validation.json b/validator/sequences/ota_fetch_failure/state_validation.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_fetch_failure/state_validation.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_blobset.attr b/validator/sequences/ota_happy_path/config_blobset.attr deleted file mode 100644 index 7305c8cce1..0000000000 --- a/validator/sequences/ota_happy_path/config_blobset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/config_blobset.json b/validator/sequences/ota_happy_path/config_blobset.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_happy_path/config_blobset.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_discovery.attr b/validator/sequences/ota_happy_path/config_discovery.attr deleted file mode 100644 index 569b2df142..0000000000 --- a/validator/sequences/ota_happy_path/config_discovery.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/config_discovery.json b/validator/sequences/ota_happy_path/config_discovery.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_happy_path/config_discovery.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_localnet.attr b/validator/sequences/ota_happy_path/config_localnet.attr deleted file mode 100644 index ee6a268744..0000000000 --- a/validator/sequences/ota_happy_path/config_localnet.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/config_localnet.json b/validator/sequences/ota_happy_path/config_localnet.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_happy_path/config_localnet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_pointset.attr b/validator/sequences/ota_happy_path/config_pointset.attr deleted file mode 100644 index 934aab868e..0000000000 --- a/validator/sequences/ota_happy_path/config_pointset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/config_pointset.json b/validator/sequences/ota_happy_path/config_pointset.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_happy_path/config_pointset.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_system.attr b/validator/sequences/ota_happy_path/config_system.attr deleted file mode 100644 index 3426a794e5..0000000000 --- a/validator/sequences/ota_happy_path/config_system.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/config_system.json b/validator/sequences/ota_happy_path/config_system.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_happy_path/config_system.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/config_update.attr b/validator/sequences/ota_happy_path/config_update.attr deleted file mode 100644 index 6990e5f4c7..0000000000 --- a/validator/sequences/ota_happy_path/config_update.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/config_update.json b/validator/sequences/ota_happy_path/config_update.json deleted file mode 100644 index 918f4b9ee4..0000000000 --- a/validator/sequences/ota_happy_path/config_update.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "timestamp" : "TIMESTAMP", - "version" : "@@@cloud udmi version###git-810075ff-dirty", - "system" : { - "min_loglevel" : 100, - "metrics_rate_sec" : 10, - "operation" : { - "last_start" : "TIMESTAMP" - }, - "testing" : { - "sequence_name" : "ota_happy_path" - } - }, - "discovery" : { - "families" : { - "vendor" : { }, - "bacnet" : { } - } - }, - "localnet" : { - "families" : { - "ether" : { }, - "ipv4" : { }, - "vendor" : { }, - "bacnet" : { } - } - }, - "blobset" : { - "blobs" : { - "pubber_module" : { - "phase" : "final", - "url" : "@@@software data###data:application/json;base64,djI=", - "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", - "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/ota_happy_path/device_system.log b/validator/sequences/ota_happy_path/device_system.log deleted file mode 100644 index 08ed6b2e79..0000000000 --- a/validator/sequences/ota_happy_path/device_system.log +++ /dev/null @@ -1,184 +0,0 @@ -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-2876, mac null, gateway null, options noPersist -TIMESTAMP INFO device.log Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo -TIMESTAMP INFO device.log Isolated repo initialized. -TIMESTAMP WARNING device.log Starting connection 1775639636791 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 PubberPointsetManager sender with delay 300s -TIMESTAMP WARNING device.log Start waiting 10s for config latch for AHU-1 -TIMESTAMP WARNING device.log Ending connection 1775639636791 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 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 1893ms -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 1887ms -TIMESTAMP DEBUG device.log State update defer 1887ms -TIMESTAMP DEBUG device.log State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer -406ms -TIMESTAMP -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer -1056ms -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer -1299ms -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 1997ms -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer 1769ms -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 1764ms -TIMESTAMP DEBUG device.log State update defer 1763ms -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer 866ms -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 863ms -TIMESTAMP DEBUG device.log State update defer 862ms -TIMESTAMP DEBUG device.log State update defer 861ms -TIMESTAMP DEBUG device.log State update defer 861ms -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP DEBUG device.log State update defer 663ms -TIMESTAMP DEBUG device.log State update defer 662ms -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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 659ms -TIMESTAMP DEBUG device.log State update defer 658ms -TIMESTAMP DEBUG device.log State update defer 658ms -TIMESTAMP DEBUG device.log State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive success -TIMESTAMP DEBUG device.log State update defer 1498ms -TIMESTAMP DEBUG system.config.parse success -TIMESTAMP INFO device.log Device AHU-1 config handler -TIMESTAMP DEBUG device.log State update defer 1496ms -TIMESTAMP DEBUG device.log Config update AHU-1 (ota_happy_path) -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.apply Received blob update config for pubber_module -TIMESTAMP -TIMESTAMP WARNING device.log State update delay 1491ms -TIMESTAMP DEBUG device.log State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG blobset.blob.apply Fetching blob data for pubber_module -TIMESTAMP DEBUG blobset.blob.apply Successfully fetched blob data for pubber_module -TIMESTAMP INFO device.log Triggering Git OTA update to commit v2 -TIMESTAMP NOTICE blobset.blob.apply Applying Git OTA update to commit v2 -TIMESTAMP INFO device.log Simulating OTA update delay... -TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/ota_happy_path/events_pointset.attr b/validator/sequences/ota_happy_path/events_pointset.attr deleted file mode 100644 index 8ccded75fa..0000000000 --- a/validator/sequences/ota_happy_path/events_pointset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/events_pointset.json b/validator/sequences/ota_happy_path/events_pointset.json deleted file mode 100644 index 68bbd0e05e..0000000000 --- a/validator/sequences/ota_happy_path/events_pointset.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/ota_happy_path/events_system.attr b/validator/sequences/ota_happy_path/events_system.attr deleted file mode 100644 index 0263ddbd34..0000000000 --- a/validator/sequences/ota_happy_path/events_system.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/events_system.json b/validator/sequences/ota_happy_path/events_system.json deleted file mode 100644 index 3ecb89c32a..0000000000 --- a/validator/sequences/ota_happy_path/events_system.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "event_no" : 5, - "last_config" : "TIMESTAMP", - "logentries" : [ ], - "metrics" : { - "mem_total_mb" : 160.0, - "mem_free_mb" : 132.57996368408203 - }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_blobset.json b/validator/sequences/ota_happy_path/local_blobset.json deleted file mode 100644 index fbaa46852e..0000000000 --- a/validator/sequences/ota_happy_path/local_blobset.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "blobs" : { - "pubber_module" : { - "phase" : "final", - "url" : "@@@software data###data:application/json;base64,djI=", - "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", - "generation" : "TIMESTAMP" - } - } -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_discovery.json b/validator/sequences/ota_happy_path/local_discovery.json deleted file mode 100644 index 9c2dd36cff..0000000000 --- a/validator/sequences/ota_happy_path/local_discovery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "families" : { - "vendor" : { }, - "bacnet" : { } - } -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_localnet.json b/validator/sequences/ota_happy_path/local_localnet.json deleted file mode 100644 index 4b6e825e32..0000000000 --- a/validator/sequences/ota_happy_path/local_localnet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "families" : { - "ether" : { }, - "ipv4" : { }, - "vendor" : { }, - "bacnet" : { } - } -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_pointset.json b/validator/sequences/ota_happy_path/local_pointset.json deleted file mode 100644 index d1bb5731e9..0000000000 --- a/validator/sequences/ota_happy_path/local_pointset.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "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/ota_happy_path/local_system.json b/validator/sequences/ota_happy_path/local_system.json deleted file mode 100644 index ede2f41b61..0000000000 --- a/validator/sequences/ota_happy_path/local_system.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "min_loglevel" : 100, - "metrics_rate_sec" : 10, - "operation" : { - "last_start" : "TIMESTAMP" - }, - "testing" : { - "sequence_name" : "ota_happy_path" - } -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/local_update.json b/validator/sequences/ota_happy_path/local_update.json deleted file mode 100644 index 5559accfff..0000000000 --- a/validator/sequences/ota_happy_path/local_update.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "timestamp" : "TIMESTAMP", - "version" : "@@@cloud udmi version###git-810075ff-dirty", - "system" : { - "min_loglevel" : 100, - "metrics_rate_sec" : 10, - "operation" : { - "last_start" : "TIMESTAMP" - }, - "testing" : { - "sequence_name" : "ota_happy_path" - } - }, - "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/ota_happy_path/sequence.log b/validator/sequences/ota_happy_path/sequence.log deleted file mode 100644 index 057f2bdb6f..0000000000 --- a/validator/sequences/ota_happy_path/sequence.log +++ /dev/null @@ -1,1498 +0,0 @@ -TIMESTAMP NOTICE Starting test ota_happy_path ################################ -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:81) -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:791) -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:791) -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:791) -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:1407) -TIMESTAMP is -6095ms -TIMESTAMP TRACE Updated check config_update: true -TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -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:1b39fc.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:1b39fc.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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:1b39fc.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:1b39fc.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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:636dfa7d -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:636dfa7d -TIMESTAMP DEBUG Capturing AHU-1 message events_pointset -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:4fdb9264 -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-2876, mac null, gateway null, options noPersist -TIMESTAMP INFO device.log: Initializing dummy module in /usr/local/google/home/heykhyati/Projects/udmi_clone/udmi/out/pubber_module_repo -TIMESTAMP INFO device.log: Isolated repo initialized. -TIMESTAMP WARNING device.log: Starting connection 1775639636791 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 PubberPointsetManager sender with delay 300s -TIMESTAMP WARNING device.log: Start waiting 10s for config latch for AHU-1 -TIMESTAMP WARNING device.log: Ending connection 1775639636791 with 1 -TIMESTAMP NOTICE system.config.apply: success -TIMESTAMP NOTICE system.config.apply: success -TIMESTAMP DEBUG Handling device message events_system MP:4fdb9264 -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:f04c389d -TIMESTAMP DEBUG Received events_system (no logs) -TIMESTAMP DEBUG Handling device message events_system MP:f04c389d -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$105(SequenceBase.java:2257) -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:2261) -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$109(SequenceBase.java:2268) -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6f1ffa2a -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:6f1ffa2a -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:6f1ffa2a -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-2876", -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" : "v2" -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-2876 -TIMESTAMP (expecting null) -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000004 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000004 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000004 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000004 -TIMESTAMP INFO Updated config #001: { -TIMESTAMP", -TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-810075ff-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" : "ota_happy_path" -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:1b39fc.00000004 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000004 -TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.00000004 -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:6f1ffa2a-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-2876", -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" : "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:6f1ffa2a-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:6f1ffa2a-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:6f1ffa2a-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6f1ffa2a-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:6f1ffa2a-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6f1ffa2a-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:6f1ffa2a-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as MP:6f1ffa2a -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update MP:6f1ffa2a -TIMESTAMP -TIMESTAMP MP:6f1ffa2a -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:175cc8e9 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:175cc8e9 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:175cc8e9 -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:175cc8e9-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-2876", -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" : "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:175cc8e9-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:175cc8e9-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:175cc8e9-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 1700ms -TIMESTAMP DEBUG Rate-limiting config by 1700ms -TIMESTAMP TRACE Updated check config_update: true -TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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:175cc8e9-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:175cc8e9-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:175cc8e9-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:175cc8e9-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000005 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000005 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000005 -TIMESTAMP -TIMESTAMP RC:1b39fc.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:f2226808 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:f2226808 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:f2226808 -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:1b39fc.00000005 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000005 -TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.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:f2226808-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-2876", -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" : "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:f2226808-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f2226808-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:f2226808-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f2226808-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:f2226808-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f2226808-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:f2226808-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6d3707e0 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:6d3707e0 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:6d3707e0 -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:6d3707e0-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-2876", -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" : "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:6d3707e0-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:1b39fc.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:6d3707e0-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:6d3707e0-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6d3707e0-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:6d3707e0-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6d3707e0-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:6d3707e0-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as RC:1b39fc.00000006 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update RC:1b39fc.00000006 -TIMESTAMP DEBUG Removed stateTransaction RC:1b39fc.00000006 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP RC:1b39fc.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 960ms -TIMESTAMP DEBUG Rate-limiting config by 960ms -TIMESTAMP TRACE Updated check config_update: true -TIMESTAMP DEBUG Update config_update, adding configTransaction RC:1b39fc.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:1b39fc.00000006 -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:de5d9f8b -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 1995ms -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer 1893ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 1887ms -TIMESTAMP DEBUG device.log: State update defer 1887ms -TIMESTAMP DEBUG device.log: State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer -406ms -TIMESTAMP -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG Handling device message events_system MP:de5d9f8b -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000007 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000007 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000007 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000007 -TIMESTAMP INFO Updated config #004: 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:9115740a -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:9115740a -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:9115740a -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 CU:1b39fc.00000007 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update CU:1b39fc.00000007 -TIMESTAMP DEBUG Ignoring operation reply CU:1b39fc.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:9115740a-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-2876", -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" : "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:9115740a-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:9115740a-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:9115740a-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:9115740a-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:9115740a-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:9115740a-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:9115740a-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:57e7b5e2 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:57e7b5e2 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:57e7b5e2 -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:57e7b5e2-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-2876", -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" : "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:57e7b5e2-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:57e7b5e2-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:57e7b5e2-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:57e7b5e2-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:57e7b5e2-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 OTA 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:1b39fc.00000008 -TIMESTAMP TRACE Updated check config_pointset: true -TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:1b39fc.00000009 -TIMESTAMP TRACE Updated check config_gateway: false -TIMESTAMP TRACE Updated check config_localnet: true -TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:1b39fc.0000000a -TIMESTAMP TRACE Updated check config_blobset: true -TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:1b39fc.0000000b -TIMESTAMP TRACE Updated check config_discovery: true -TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:1b39fc.0000000c -TIMESTAMP -TIMESTAMP, because trigger ota 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:57e7b5e2-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:57e7b5e2-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:15981566 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:15981566 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:15981566 -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:1b39fc.00000008 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000008 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000008 -TIMESTAMP -TIMESTAMP RC:1b39fc.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:1b39fc.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:1b39fc.00000008 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000008 -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:15981566-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-2876", -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" : "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:15981566-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:15981566-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:15981566-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:15981566-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:15981566-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:15981566-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:15981566-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.0000000c -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.0000000c -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.0000000c -TIMESTAMP -TIMESTAMP RC:1b39fc.0000000c -TIMESTAMP INFO Updated config #006: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:1b39fc.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:1b39fc.0000000c -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.0000000c -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.00000009 -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.00000009 -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.00000009 -TIMESTAMP -TIMESTAMP RC:1b39fc.00000009 -TIMESTAMP INFO Updated config #007: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:1b39fc.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:1b39fc.00000009 -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.00000009 -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.0000000a -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.0000000a -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.0000000a -TIMESTAMP -TIMESTAMP RC:1b39fc.0000000a -TIMESTAMP INFO Updated config #008: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:1b39fc.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:1b39fc.0000000a -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.0000000a -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f139e122 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:f139e122 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:f139e122 -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:f139e122-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-2876", -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" : "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:f139e122-0 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f139e122-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:f139e122-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f139e122-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:f139e122-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f139e122-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:f139e122-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/config/update as RC:1b39fc.0000000b -TIMESTAMP DEBUG Received config_update -TIMESTAMP DEBUG Handling update message config_update RC:1b39fc.0000000b -TIMESTAMP DEBUG Removed configTransaction RC:1b39fc.0000000b -TIMESTAMP -TIMESTAMP RC:1b39fc.0000000b -TIMESTAMP INFO Updated config #009: Changed 0 fields. -TIMESTAMP -TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:1b39fc.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:1b39fc.0000000b -TIMESTAMP TRACE Ignoring echo configTransaction CU:1b39fc.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:b99116e2 -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:b99116e2 -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:b99116e2 -TIMESTAMP INFO Updated state #010: Changed 6 fields: -TIMESTAMP` -TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` -TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.parse` -TIMESTAMP` -TIMESTAMP` } } } -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b99116e2-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-2876", -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" : "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:b99116e2-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 ota 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 ota 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 is APPLY at @27s -TIMESTAMP is 1961ms -TIMESTAMP DEBUG Rate-limiting config by 1961ms -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 APPLY -TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is APPLY 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 system logs level `NOTICE` category `blobset.blob.apply` 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 Received command AHU-1/state/discovery as MP:b99116e2-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:b99116e2-1 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b99116e2-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:b99116e2-2 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:b99116e2-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:b99116e2-3 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b99116e2-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:b99116e2-4 -TIMESTAMP TRACE Ignoring partial state update -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:2f240cf6 -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer -1056ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer -1299ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 1997ms -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer 1769ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 1764ms -TIMESTAMP DEBUG device.log: State update defer 1763ms -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer 866ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 863ms -TIMESTAMP DEBUG device.log: State update defer 862ms -TIMESTAMP DEBUG device.log: State update defer 861ms -TIMESTAMP DEBUG device.log: State update defer 861ms -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer 663ms -TIMESTAMP DEBUG device.log: State update defer 662ms -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 659ms -TIMESTAMP DEBUG device.log: State update defer 658ms -TIMESTAMP DEBUG device.log: State update defer 658ms -TIMESTAMP DEBUG device.log: State update defer 0ms -TIMESTAMP -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG device.log: State update defer 1498ms -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update defer 1496ms -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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.apply: Received blob update config for pubber_module -TIMESTAMP -TIMESTAMP WARNING device.log: State update delay 1491ms -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG blobset.blob.apply: Fetching blob data for pubber_module -TIMESTAMP DEBUG blobset.blob.apply: Successfully fetched blob data for pubber_module -TIMESTAMP INFO device.log: Triggering Git OTA update to commit v2 -TIMESTAMP NOTICE blobset.blob.apply: Applying Git OTA update to commit v2 -TIMESTAMP INFO device.log: Simulating OTA update delay... -TIMESTAMP DEBUG Handling device message events_system MP:2f240cf6 -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP -TIMESTAMP DEBUG system.config.receive: success -TIMESTAMP DEBUG system.config.parse: success -TIMESTAMP DEBUG device.log: State update defer -1056ms -TIMESTAMP INFO device.log: Device AHU-1 config handler -TIMESTAMP DEBUG device.log: State update AHU-1 (ota_happy_path) -TIMESTAMP DEBUG device.log: Config update AHU-1 (ota_happy_path) -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 (ota_happy_path) -TIMESTAMP NOTICE blobset.blob.apply: Applying Git OTA update to commit v2 -TIMESTAMP DEBUG Detail system logs level `NOTICE` category `blobset.blob.apply` is now: null -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 @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 pubber_module phase is FINAL and status is null at @31s -TIMESTAMP is 1951ms -TIMESTAMP DEBUG Rate-limiting config by 1951ms -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 and status is null -TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e2198e9f -TIMESTAMP DEBUG Received events_system (no logs) -TIMESTAMP DEBUG Handling device message events_system MP:e2198e9f -TIMESTAMP DEBUG Capturing AHU-1 message events_system -TIMESTAMP DEBUG Received command AHU-1/state/update as MP:638f54ef -TIMESTAMP DEBUG Received state_update -TIMESTAMP DEBUG Handling update message state_update MP:638f54ef -TIMESTAMP DEBUG Capturing AHU-1 message state_update -TIMESTAMP MP:638f54ef -TIMESTAMP INFO Updated state #011: Changed 2 fields: -TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` -TIMESTAMP` -TIMESTAMP) -TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL and status is null at @47s after 15s -TIMESTAMP TRACE Stage resume waiting for executing test at @47s -TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module software version reflects update -TIMESTAMP DEBUG stage done waiting for executing test at @47s -TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG -TIMESTAMP NOTICE RESULT pass system.software.updates ota_happy_path PREVIEW 10/10 Sequence complete -TIMESTAMP NOTICE Sequence complete -TIMESTAMP NOTICE Ending test ota_happy_path after @47s ################################ diff --git a/validator/sequences/ota_happy_path/sequence.md b/validator/sequences/ota_happy_path/sequence.md deleted file mode 100644 index a486193b75..0000000000 --- a/validator/sequences/ota_happy_path/sequence.md +++ /dev/null @@ -1,11 +0,0 @@ - -## ota_happy_path (PREVIEW) - -1. Update config trigger ota 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 is APPLY -1. Wait until system logs level `NOTICE` category `blobset.blob.apply` -1. Wait for pubber_module phase is FINAL and status is null -1. Check that pubber_module software version reflects update - -Test passed. diff --git a/validator/sequences/ota_happy_path/state_blobset.attr b/validator/sequences/ota_happy_path/state_blobset.attr deleted file mode 100644 index e2a4e394d7..0000000000 --- a/validator/sequences/ota_happy_path/state_blobset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_blobset.json b/validator/sequences/ota_happy_path/state_blobset.json deleted file mode 100644 index 3c30f1ba1d..0000000000 --- a/validator/sequences/ota_happy_path/state_blobset.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "blobs" : { - "pubber_module" : { - "phase" : "apply", - "generation" : "TIMESTAMP" - } - }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/state_discovery.attr b/validator/sequences/ota_happy_path/state_discovery.attr deleted file mode 100644 index f16e42693d..0000000000 --- a/validator/sequences/ota_happy_path/state_discovery.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_discovery.json b/validator/sequences/ota_happy_path/state_discovery.json deleted file mode 100644 index 03510b9d7c..0000000000 --- a/validator/sequences/ota_happy_path/state_discovery.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "families" : { }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/state_localnet.attr b/validator/sequences/ota_happy_path/state_localnet.attr deleted file mode 100644 index 13973d809a..0000000000 --- a/validator/sequences/ota_happy_path/state_localnet.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_localnet.json b/validator/sequences/ota_happy_path/state_localnet.json deleted file mode 100644 index f58bb2de5b..0000000000 --- a/validator/sequences/ota_happy_path/state_localnet.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "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/ota_happy_path/state_pointset.attr b/validator/sequences/ota_happy_path/state_pointset.attr deleted file mode 100644 index 0d00c71c97..0000000000 --- a/validator/sequences/ota_happy_path/state_pointset.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_pointset.json b/validator/sequences/ota_happy_path/state_pointset.json deleted file mode 100644 index 642744656c..0000000000 --- a/validator/sequences/ota_happy_path/state_pointset.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "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/ota_happy_path/state_system.attr b/validator/sequences/ota_happy_path/state_system.attr deleted file mode 100644 index 14f9483862..0000000000 --- a/validator/sequences/ota_happy_path/state_system.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_system.json b/validator/sequences/ota_happy_path/state_system.json deleted file mode 100644 index 818bf97de0..0000000000 --- a/validator/sequences/ota_happy_path/state_system.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "hardware" : { - "make" : "BOS", - "model" : "pubber" - }, - "last_config" : "TIMESTAMP", - "operation" : { - "operational" : true, - "last_start" : "TIMESTAMP", - "restart_count" : 1, - "mode" : "initial" - }, - "serial_no" : "sequencer-2876", - "software" : { - "firmware" : "v1", - "pubber_module" : "v2" - }, - "status" : { - "message" : "success", - "category" : "system.config.parse", - "timestamp" : "TIMESTAMP", - "level" : 100 - }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/state_update.attr b/validator/sequences/ota_happy_path/state_update.attr deleted file mode 100644 index cb34f853da..0000000000 --- a/validator/sequences/ota_happy_path/state_update.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_update.json b/validator/sequences/ota_happy_path/state_update.json deleted file mode 100644 index 2d62673d4a..0000000000 --- a/validator/sequences/ota_happy_path/state_update.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "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-2876", - "hardware" : { - "make" : "BOS", - "model" : "pubber" - }, - "software" : { - "firmware" : "v1", - "pubber_module" : "v2" - }, - "status" : { - "message" : "success", - "category" : "system.config.parse", - "timestamp" : "TIMESTAMP", - "level" : 100 - } - }, - "timestamp" : "TIMESTAMP", - "version" : "1.5.3" -} \ No newline at end of file diff --git a/validator/sequences/ota_happy_path/state_validation.attr b/validator/sequences/ota_happy_path/state_validation.attr deleted file mode 100644 index a7d02d31e6..0000000000 --- a/validator/sequences/ota_happy_path/state_validation.attr +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/ota_happy_path/state_validation.json b/validator/sequences/ota_happy_path/state_validation.json deleted file mode 100644 index 4930737629..0000000000 --- a/validator/sequences/ota_happy_path/state_validation.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "operation" : "REPLY" -} \ No newline at end of file diff --git a/validator/sequences/ota_hash_mismatch/device_system.log b/validator/sequences/ota_hash_mismatch/device_system.log deleted file mode 100644 index 9c173054cb..0000000000 --- a/validator/sequences/ota_hash_mismatch/device_system.log +++ /dev/null @@ -1 +0,0 @@ -TIMESTAMP WARNING validation.feature.sequence Feature bucket updates not enabled diff --git a/validator/sequences/ota_hash_mismatch/sequence.log b/validator/sequences/ota_hash_mismatch/sequence.log deleted file mode 100644 index e8bcaf60ff..0000000000 --- a/validator/sequences/ota_hash_mismatch/sequence.log +++ /dev/null @@ -1,24 +0,0 @@ -TIMESTAMP NOTICE Starting test ota_hash_mismatch ################################ -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:81) -TIMESTAMP DEBUG stage done initialize at @0s -TIMESTAMP DEBUG exception message: Feature bucket updates not enabled -TIMESTAMP TRACE ending stack trace: org.junit.AssumptionViolatedException: Feature bucket updates not enabled -TIMESTAMP TRACE ending stack trace: at org.junit.Assume.assumeTrue(Assume.java:68) -TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.SequenceBase.setUp(SequenceBase.java:825) -TIMESTAMP TRACE ending stack trace: at com.google.daq.mqtt.sequencer.sequences.BlobsetSequences.setUp(BlobsetSequences.java:83) -TIMESTAMP TRACE ending stack trace: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) -TIMESTAMP TRACE ending stack trace: at java.base/java.lang.reflect.Method.invoke(Method.java:580) -TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) -TIMESTAMP TRACE ending stack trace: at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) -TIMESTAMP TRACE ending stack trace: at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) -TIMESTAMP TRACE ending stack trace: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) -TIMESTAMP TRACE ending stack trace: at java.base/java.lang.Thread.run(Thread.java:1583) -TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG -TIMESTAMP NOTICE RESULT skip system.software.updates ota_hash_mismatch PREVIEW 0/0 Feature bucket updates not enabled -TIMESTAMP WARNING Feature bucket updates not enabled -TIMESTAMP NOTICE Ending test ota_hash_mismatch after @0s ################################ diff --git a/validator/sequences/ota_hash_mismatch/sequence.md b/validator/sequences/ota_hash_mismatch/sequence.md deleted file mode 100644 index cbdd88fd69..0000000000 --- a/validator/sequences/ota_hash_mismatch/sequence.md +++ /dev/null @@ -1,5 +0,0 @@ - -## ota_hash_mismatch (PREVIEW) - - -Test skipped: Feature bucket updates not enabled 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 df636730bc..fa495688c9 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 @@ -41,6 +41,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.Category; @@ -52,7 +53,6 @@ import udmi.schema.IotAccess.IotProvider; import udmi.schema.Level; import udmi.schema.Operation.SystemMode; -import udmi.schema.OtaTestingModel; /** @@ -392,10 +392,6 @@ private void check_system_restart() { () -> deviceConfig.system.operation.last_start.after(last_start)); } - private String generateSoftwareConfigDataUrl(String payload) { - return format(DATA_URL_FORMAT, JSON_MIME_TYPE, encodeBase64(payload)); - } - private void setDeviceConfigSoftwareBlob(String blobName, String url, String sha256) { BlobBlobsetConfig config = new BlobBlobsetConfig(); config.url = SemanticValue.describe("software data", url); @@ -409,8 +405,8 @@ private void setDeviceConfigSoftwareBlob(String blobName, String url, String sha deviceConfig.blobset = blobset; } - private void runOtaTest(OtaTestingModel target, boolean expectSuccess, String expectedCategory, - Level expectedLevel) { + private void runOtaTest(BlobUpdateTestingModel target, boolean expectSuccess, + String expectedCategory, Level expectedLevel) { String blobName = target.blob_name; String url = target.url; String sha256 = target.sha256; @@ -454,59 +450,59 @@ private void runOtaTest(OtaTestingModel target, boolean expectSuccess, String ex } - private OtaTestingModel getOtaTarget(String targetType) { - ifTrueSkipTest(deviceMetadata.testing == null || deviceMetadata.testing.ota_targets == null, - "No OTA targets defined in metadata"); - OtaTestingModel target = deviceMetadata.testing.ota_targets.get(targetType); - ifNullSkipTest(target, "No OTA target defined for type '" + targetType + "'"); + 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; } @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_update_success() { - OtaTestingModel target = getOtaTarget("happy"); - runOtaTest(target, true, BLOBSET_BLOB_APPLY, Level.NOTICE); + public void blob_update_success() { + runOtaTest(getUpdateTarget("happy"), true, BLOBSET_BLOB_APPLY, Level.NOTICE); } @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_fetch_failure() { - OtaTestingModel target = getOtaTarget("fail_fetch"); - runOtaTest(target, false, Category.BLOBSET_BLOB_FETCH_FAILURE, Level.ERROR); + runOtaTest(getUpdateTarget("fail_fetch"), false, Category.BLOBSET_BLOB_FETCH_FAILURE, + Level.ERROR); } @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_hash_mismatch() { - OtaTestingModel target = getOtaTarget("fail_hash"); - runOtaTest(target, false, BLOBSET_BLOB_VERIFY_HASH, Level.ERROR); + runOtaTest(getUpdateTarget("fail_hash"), false, BLOBSET_BLOB_VERIFY_HASH, Level.ERROR); } @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_parse_failure() { - OtaTestingModel target = getOtaTarget("fail_parse"); - runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_PARSE, Level.ERROR); + runOtaTest(getUpdateTarget("fail_parse"), false, Category.BLOBSET_BLOB_VERIFY_PARSE, + Level.ERROR); } @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_hardware_mismatch() { - OtaTestingModel target = getOtaTarget("happy"); - runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, Level.ERROR); + runOtaTest(getUpdateTarget("happy"), false, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, + Level.ERROR); } @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void ota_software_mismatch() { - OtaTestingModel target = getOtaTarget("happy"); - runOtaTest(target, false, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY, Level.ERROR); + runOtaTest(getUpdateTarget("happy"), false, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY, + Level.ERROR); } + } From 9181ae8492546af7e70b5213bb57c4a479062454 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 12:52:51 +0000 Subject: [PATCH 16/22] Restore golden files --- etc/sequencer.out | 6 ++---- .../java/com/google/daq/mqtt/sequencer/SequenceBase.java | 2 -- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/etc/sequencer.out b/etc/sequencer.out index 7f8c69a3d8..4d8f604621 100644 --- a/etc/sequencer.out +++ b/etc/sequencer.out @@ -42,6 +42,7 @@ RESULT pass system extra_config STABLE 10/10 Sequence complete 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 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 @@ -49,10 +50,7 @@ CPBLTY pass system system_last_update.subblocks ALPHA 1/1 Capability supported RESULT pass system system_min_loglevel ALPHA 10/10 Sequence complete RESULT pass system too_much_state ALPHA 10/10 Sequence complete RESULT pass system valid_serial_no STABLE 10/10 Sequence complete -RESULT pass system.mode system_mode_restart PREVIEW 10/10 Sequence complete -RESULT pass system.software.updates ota_fetch_failure PREVIEW 10/10 Sequence complete -RESULT pass system.software.updates ota_happy_path PREVIEW 10/10 Sequence complete RESULT pass writeback writeback_failure ALPHA 10/10 Sequence complete RESULT pass writeback writeback_invalid ALPHA 10/10 Sequence complete RESULT pass writeback writeback_operation ALPHA 10/10 Sequence complete -RESULT pass writeback writeback_success ALPHA 10/10 Sequence complete +RESULT pass writeback writeback_success ALPHA 10/10 Sequence complete \ 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 ca16955172..ac3aa05aa5 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 @@ -2915,6 +2915,4 @@ private static String getTestName(@NotNull Description description) { ""); return description.getMethodName() + suffix; } - - } From a9aa0b81b44fc0e0c0174e0ce0fef051e396ef51 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Tue, 14 Apr 2026 12:53:47 +0000 Subject: [PATCH 17/22] Restore golden files --- etc/sequencer.out | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/sequencer.out b/etc/sequencer.out index 4d8f604621..69bb49397d 100644 --- a/etc/sequencer.out +++ b/etc/sequencer.out @@ -53,4 +53,4 @@ RESULT pass system valid_serial_no STABLE 10/10 Sequence complete RESULT pass writeback writeback_failure ALPHA 10/10 Sequence complete RESULT pass writeback writeback_invalid ALPHA 10/10 Sequence complete RESULT pass writeback writeback_operation ALPHA 10/10 Sequence complete -RESULT pass writeback writeback_success ALPHA 10/10 Sequence complete \ No newline at end of file +RESULT pass writeback writeback_success ALPHA 10/10 Sequence complete From 84039aaca520b62ae10d84672a2a97d86a77d443 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Wed, 15 Apr 2026 11:41:00 +0000 Subject: [PATCH 18/22] Cleanup --- .../impl/host/MockGitModuleEmulator.java | 2 +- .../java/udmi/lib/base/UdmiException.java | 10 ++ .../udmi/lib/client/host/PublisherHost.java | 33 ++++- .../sequencer/sequences/BlobsetSequences.java | 123 ++++++++++-------- 4 files changed, 107 insertions(+), 61 deletions(-) diff --git a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java index 0d477124a8..65754b5ace 100644 --- a/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java +++ b/pubber/src/main/java/daq/pubber/impl/host/MockGitModuleEmulator.java @@ -128,7 +128,7 @@ public String getModuleVersion() { try (Git git = Git.open(repoDir)) { Repository repository = git.getRepository(); ObjectId head = repository.resolve("HEAD"); - return head != null ? head.getName() : "unknown"; + return head != null ? git.describe().setTarget(head).call() : "unknown"; } catch (Exception e) { errorLogger.accept("Failed to resolve module version via JGit: " + e.getMessage()); return "unknown"; diff --git a/pubber/src/main/java/udmi/lib/base/UdmiException.java b/pubber/src/main/java/udmi/lib/base/UdmiException.java index cdac38f0d5..1e0e6fce8f 100644 --- a/pubber/src/main/java/udmi/lib/base/UdmiException.java +++ b/pubber/src/main/java/udmi/lib/base/UdmiException.java @@ -5,6 +5,16 @@ */ public class UdmiException { + /** + * Exception thrown when a blob cannot be parsed. + */ + public static class BlobParseException extends RuntimeException { + public BlobParseException(String message) { + super(message); + } + } + + /** * Exception thrown when there is a hash mismatch. */ 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 65c82ea5a5..92bc55c38e 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -62,6 +62,7 @@ import udmi.lib.base.UdmiException.BlobDependencyMismatchException; import udmi.lib.base.UdmiException.BlobIncompatibleException; import udmi.lib.base.UdmiException.HashMismatchException; +import udmi.lib.base.UdmiException.BlobParseException; import udmi.lib.client.manager.DeviceManager; import udmi.lib.client.manager.PointsetManager; import udmi.lib.client.manager.SystemManager; @@ -127,9 +128,10 @@ public interface PublisherHost extends ManagerHost { "events/mapping", "{ NOT VALID JSON!"); List INVALID_KEYS = new ArrayList<>(INVALID_REPLACEMENTS.keySet()); Map, String> BLOB_ERROR_CATEGORIES = ImmutableMap.of( - HashMismatchException.class, Category.BLOBSET_BLOB_VERIFY_HASH, - BlobIncompatibleException.class, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, - BlobDependencyMismatchException.class, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY + BlobParseException.class, Category.BLOBSET_BLOB_VERIFY_PARSE, + HashMismatchException.class, Category.BLOBSET_BLOB_VERIFY_HASH, + BlobIncompatibleException.class, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, + BlobDependencyMismatchException.class, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY ); String CORRUPT_STATE_MESSAGE = "!&*@(!*&@!"; @@ -140,12 +142,26 @@ static String acquireBlobData(String url, String sha256) { if (!url.startsWith(DATA_URL_JSON_BASE64)) { throw new RuntimeException(format("URL encoding not supported: %s", url)); } - byte[] dataBytes = Base64.getDecoder().decode(url.substring(DATA_URL_JSON_BASE64.length())); + byte[] dataBytes; + try { + dataBytes = Base64.getDecoder().decode(url.substring(DATA_URL_JSON_BASE64.length())); + } catch (IllegalArgumentException e) { + throw new BlobParseException("Failed to decode base64 payload"); + } + String dataSha256 = GeneralUtils.sha256(dataBytes); if (!dataSha256.equals(sha256)) { throw new HashMismatchException("Blob data hash mismatch"); } - return new String(dataBytes); + + String decoded = new String(dataBytes); + try { + parseJson(decoded); + } catch (Exception e) { + throw new BlobParseException("Failed to parse blob payload as JSON"); + } + + return decoded; } Config getDeviceConfig(); @@ -238,7 +254,7 @@ default void processBlob(String blobName) { */ default void applyBlobPayload(String blobName, BlobBlobsetConfig config, BlobBlobsetState state, String payload) { - logEvent(Category.BLOBSET_BLOB_APPLY, "Applying OTA update..."); + logEvent(Category.BLOBSET_BLOB_APPLY, "Applying blob update..."); installBlobPayload(blobName, payload); state.phase = BlobPhase.FINAL; @@ -248,6 +264,8 @@ default void applyBlobPayload(String blobName, BlobBlobsetConfig config, persistAppliedBlob(blobName, isoConvert(config.generation)); + // Explicitly flush logs before operations like restart! + getDeviceManager().getSystemManager().sendSystemEvent(); activateBlob(blobName); } @@ -916,11 +934,12 @@ default void logEvent(String category, String message, Throwable e) { entry = entryFromException(category, e); } else { entry = new Entry(); - entry.category = Category.BLOBSET_BLOB_APPLY; + entry.category = category; entry.timestamp = new Date(); entry.message = message; entry.level = Category.LEVEL.getOrDefault(category, Level.INFO).value(); } + getDeviceManager().localLog(entry); publishLogMessage(entry, getDeviceId()); } 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 fa495688c9..82f7edd0e5 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 @@ -19,7 +19,11 @@ 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_FAILURE; +import static udmi.schema.Category.BLOBSET_BLOB_VERIFY_DEPENDENCY; import static udmi.schema.Category.BLOBSET_BLOB_VERIFY_HASH; +import static udmi.schema.Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE; +import static udmi.schema.Category.BLOBSET_BLOB_VERIFY_PARSE; import static udmi.schema.FeatureDiscovery.FeatureStage.PREVIEW; import com.google.daq.mqtt.sequencer.Feature; @@ -44,7 +48,6 @@ import udmi.schema.BlobUpdateTestingModel; import udmi.schema.BlobsetConfig; import udmi.schema.BlobsetConfig.SystemBlobsets; -import udmi.schema.Category; import udmi.schema.EndpointConfiguration; import udmi.schema.EndpointConfiguration.Protocol; import udmi.schema.EndpointConfiguration.Transport; @@ -392,63 +395,85 @@ private void check_system_restart() { () -> deviceConfig.system.operation.last_start.after(last_start)); } - 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 void runOtaTest(BlobUpdateTestingModel target, boolean expectSuccess, - String expectedCategory, Level expectedLevel) { + private String triggerBlobUpdate(BlobUpdateTestingModel target) { String blobName = target.blob_name; String url = target.url; String sha256 = target.sha256; - String version = target.version; - - info(format("Testing OTA update for blob key %s, version %s", blobName, version)); setDeviceConfigSoftwareBlob(blobName, url, sha256); - updateConfig("trigger ota update for " + blobName); + updateConfig("trigger blob update for " + blobName); - // Relaxed intermediate check for fast updates: wait for APPLY or FINAL 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 runBlobUpdateTest(BlobUpdateTestingModel target, boolean expectSuccessfulUpdate, + String expectedCategory, Level expectedLevel) { + String version = target.version; + info(format("Testing blob update for blob key %s, version %s", target.blob_name, version)); + + String blobName = triggerBlobUpdate(target); + if (expectedCategory != null) { waitForLog(expectedCategory, expectedLevel); } - untilTrue(blobName + " phase is FINAL", () -> { - BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); - if (blobBlobsetState == null || !BlobPhase.FINAL.equals(blobBlobsetState.phase)) { - return false; - } - if (expectSuccess) { - return blobBlobsetState.status == null; - } else { - return blobBlobsetState.status != null - && blobBlobsetState.status.level >= Level.ERROR.value(); - } - }); + BlobBlobsetState blobBlobsetState = deviceState.blobset.blobs.get(blobName); + if (expectSuccessfulUpdate) { + checkThat(blobName + " state is success", () -> blobBlobsetState.status == null); + checkThat(blobName + " software version reflects update", () -> { + String softwareVersion = deviceState.system.software.get(blobName); + return version.equals(softwareVersion); + }); + } else { + checkThat(blobName + " state indicates error", () -> + blobBlobsetState.status != null && blobBlobsetState.status.level >= Level.ERROR.value()); + } + } + + private void runAdaptiveBlobUpdateTest(BlobUpdateTestingModel target, + String expectedFailureCategory) { + String version = target.version; + info(format("Testing adaptive blob update for blob key %s", target.blob_name)); - if (expectSuccess) { + String blobName = triggerBlobUpdate(target); + + BlobBlobsetState finalState = deviceState.blobset.blobs.get(blobName); + if (finalState.status == null) { + waitForLog(BLOBSET_BLOB_APPLY, Level.NOTICE); checkThat(blobName + " software version reflects update", () -> { String softwareVersion = deviceState.system.software.get(blobName); return version.equals(softwareVersion); }); + } else { + waitForLog(expectedFailureCategory, Level.ERROR); + checkThat(blobName + " state indicates error", + () -> finalState.status.level >= Level.ERROR.value()); } } + 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 BlobUpdateTestingModel getUpdateTarget(String targetType) { ifTrueSkipTest( @@ -462,46 +487,38 @@ private BlobUpdateTestingModel getUpdateTarget(String targetType) { @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) public void blob_update_success() { - runOtaTest(getUpdateTarget("happy"), true, BLOBSET_BLOB_APPLY, Level.NOTICE); + runBlobUpdateTest(getUpdateTarget("success"), true, BLOBSET_BLOB_APPLY, Level.NOTICE); } - @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_fetch_failure() { - runOtaTest(getUpdateTarget("fail_fetch"), false, Category.BLOBSET_BLOB_FETCH_FAILURE, + public void blob_fetch_failure() { + runBlobUpdateTest(getUpdateTarget("fail_fetch"), false, BLOBSET_BLOB_FETCH_FAILURE, Level.ERROR); } - @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_hash_mismatch() { - runOtaTest(getUpdateTarget("fail_hash"), false, BLOBSET_BLOB_VERIFY_HASH, Level.ERROR); + public void blob_parse_failure() { + runBlobUpdateTest(getUpdateTarget("fail_parse"), false, BLOBSET_BLOB_VERIFY_PARSE, Level.ERROR); } - @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_parse_failure() { - runOtaTest(getUpdateTarget("fail_parse"), false, Category.BLOBSET_BLOB_VERIFY_PARSE, - Level.ERROR); + public void blob_hash_mismatch() { + runBlobUpdateTest(getUpdateTarget("fail_hash"), false, BLOBSET_BLOB_VERIFY_HASH, Level.ERROR); } - @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_hardware_mismatch() { - runOtaTest(getUpdateTarget("happy"), false, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, - Level.ERROR); + public void blob_incompatible() { + runAdaptiveBlobUpdateTest(getUpdateTarget("success"), BLOBSET_BLOB_VERIFY_INCOMPATIBLE); } - @Test(timeout = TWO_MINUTES_MS) @Feature(stage = PREVIEW, bucket = SYSTEM_SOFTWARE_UPDATES) - public void ota_software_mismatch() { - runOtaTest(getUpdateTarget("happy"), false, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY, - Level.ERROR); + public void blob_dependency_mismatch() { + runAdaptiveBlobUpdateTest(getUpdateTarget("success"), BLOBSET_BLOB_VERIFY_DEPENDENCY); } } From 93eadbb2510d1ed8fb702e8295e42043de397bb1 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Wed, 15 Apr 2026 12:11:12 +0000 Subject: [PATCH 19/22] Fix validator and pubber builds --- .gencode_hash.txt | 30 +- gencode/docs/commands_mapping.html | 65 +- gencode/docs/configuration_execution.html | 86 +-- gencode/docs/events.html | 337 +------- gencode/docs/events_discovery.html | 237 +----- gencode/docs/events_mapping.html | 65 +- gencode/docs/events_system.html | 72 +- gencode/docs/events_udmi.html | 72 +- gencode/docs/events_validation.html | 137 +--- gencode/docs/metadata.html | 479 ++---------- gencode/docs/monitoring.html | 86 +-- gencode/docs/state.html | 718 +++--------------- gencode/docs/state_mapping.html | 79 +- gencode/docs/state_validation.html | 544 ++----------- gencode/java/udmi/schema/Category.java | 6 - gencode/python/udmi/schema/category.py | 3 - .../udmi/lib/client/host/PublisherHost.java | 26 +- schema/category.json | 1 - .../sequencer/sequences/BlobsetSequences.java | 4 +- 19 files changed, 390 insertions(+), 2657 deletions(-) diff --git a/.gencode_hash.txt b/.gencode_hash.txt index ffd0ea2a1d..c549e2e7e1 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -1,22 +1,22 @@ 5c70161462ba15e3fd390ee725a721d35e95fa675e225fb30a605b5399b5a36e gencode/docs/building_config_entity.html c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/commands_discovery.html -b2bf12968cecd8c558fd28397f7821c6ca7c60aa20f604398b5192e1437023bd gencode/docs/commands_mapping.html +308d230628144aed9879d655141c63c4d4795bf9a6bb4cf9834e43a9502b8bda gencode/docs/commands_mapping.html c6ffca53aab559f5e29cdaa0725a6f6371174b3466d8114d936fa9a32ca208a3 gencode/docs/config.html 0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html -142c26e4e42bdca37241da254fe97620c6ab2057f8a2a751f01182fe2d4a8ffd gencode/docs/configuration_execution.html +d8f7c97b52b0bc509039c944618384397fefebf8cc873261a0a84f02de73fd82 gencode/docs/configuration_execution.html 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html b52e5ed57d8aab0509692948f06731bb8390606a63faaecaa85a9b3402b24adb gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html -eb98b21960108b1916f488f8a9b0409e6a15ee9e9143582e4ed42e9a7d1dee4c gencode/docs/events.html +265a93ce9d0db3dcd376cf200f4db3ffe189457f3b30f950c06f2cb65c393477 gencode/docs/events.html 70e57ad6ef39330d958727ebf9dcd61ef6ea30e4c8653eac412bf1867fdb3a70 gencode/docs/events_alarmset.html -a667f6daab0a7561d9b4cb535d7881868d54f48c96fbe5b5ceb761dc8f8cda9c gencode/docs/events_discovery.html -e620f631c53cc16bd31326fb86f2c1d5f80deaa3fea1e57e6681e5fdefaf2438 gencode/docs/events_mapping.html +5e31acb881572cb3c3f60a547822dbb0311ce10f97486a85ed18c15b901193e0 gencode/docs/events_discovery.html +1b95d05a99156c999e97f72d89cf94952a97e7c3962ef2b0d8bcedc4098a8c51 gencode/docs/events_mapping.html eafcc3c48189f605f114cde051fea9d13fc5f1a3e395d64fb0a91cb53d4c9aeb gencode/docs/events_pointset.html -13678cdf6642e7da5cf35fd6528c0b46a917f49406398b97439cc065e6e6f4a7 gencode/docs/events_system.html -c5df7d044f4588e6a83baf2a2da1e77f37cbfb9d3672f4df1cd1c7ec8dc80a8f gencode/docs/events_udmi.html -62a69395bb4df5b0196d9412133ac00d8af603065248f80a24050ad37c288ee6 gencode/docs/events_validation.html -ba52c5964534f56d8ec36e8cb0cc309ab9c83c9cc784e875d6068d5a32bd541a gencode/docs/metadata.html -5f45fc3e2fbb5dbe78fbd0ca7b343b02ac2e2603e77a7644b84fbc42bffafc49 gencode/docs/monitoring.html +924d1a8b99408c1e925a02bf6cee481622f845dd4293e15186af9068f5c989ed gencode/docs/events_system.html +eceaa83ad7791656c1ed65af773b7c08308e095d9bf887902d192418ccc0d9ee gencode/docs/events_udmi.html +6e44d032556f170183aeec5c082cbc971974a4b6180c303bb72acb9fe949b4f7 gencode/docs/events_validation.html +f2e80db9be95d7b4569549e424251f073e563f661bf0b2f274626f925c948fab gencode/docs/metadata.html +fcd0373a66ae71ebf61da6b83ce57192e819f6f2d8cda17024ab0492e7379176 gencode/docs/monitoring.html 7d5ce87e98473627d6d37cc5e282526a8eba20fdac015d4f94ccfe83ca4318ee gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/query_cloud.html @@ -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 -05e4c27247ece84c77ffdfcb8e51f896328fa7448b1e54cad3d098242f1a9d21 gencode/docs/state.html -1e875bfe38cfd3dee85552f5800866d82b3e226cd81dcc6b9b8de8dcc39475f1 gencode/docs/state_mapping.html -baa1d655735ce58a5c5f7456b079ef7fe071162e382e5dd87d27d8f97d87f446 gencode/docs/state_validation.html +04c0aa9fe38b27e9d54b526b457a544e0e792b0365e55f79c9f90c3239553c46 gencode/docs/state.html +1b7ff63320736e63e9bf20d2230921ca1a1e50311fc770b93da57317eb1cd833 gencode/docs/state_mapping.html +1e492f816da10b0275e473dea24092b1aef022cbc3b6cd9808c39e11c13caaf7 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 @@ -51,7 +51,7 @@ d9f2924753c34ea5c8c9532d3a94c0c2fe2891d2cc8766646d40b1e90636f372 gencode/java/u 8773da8131fdc0f9409df0c04132abdaa01f658d0ec0e73dd8aa714b24454bdc gencode/java/udmi/schema/BuildingConfigEntity.java 519ead2ee2fe3e6fe48547266dec9a545521d52d262646f261ebfbbf8500d25f gencode/java/udmi/schema/BuildingTranslation.java 27ca4f61bd43beca0871b465f3906785a1030a4526605f1fa9b10e3adda8df05 gencode/java/udmi/schema/CapabilityValidationState.java -bc1404a903864bf29ac0c5b7ade86ef5de23540d83d472354200f7c6f5c36213 gencode/java/udmi/schema/Category.java +1e02d6b23904964a2a87a8bf88bf8f8d358bbfec48e96403bacef2495912fc92 gencode/java/udmi/schema/Category.java 0101d742dbaa23fb2152b044e5eabd6d219047cddbb973e9626a026946b7ddfc gencode/java/udmi/schema/CloudModel.java 051b4a7c85a2f1a310787f88f336be2fc9b87c99a94ac2f970955d2fe1daa931 gencode/java/udmi/schema/CloudQuery.java 3e6572b16184bde7557eb67334405e7c5b58446e64802658cf0d5ef3b0018909 gencode/java/udmi/schema/Common.java @@ -167,7 +167,7 @@ f9d90861e568b27445bef241f04cce64cc44731c95c8bd9e3f65cef79d42dab0 gencode/python 2cde1ab831cfe9e06f772bcafd32540111617596b138ecfdcc8af6bc20e29b67 gencode/python/udmi/schema/bucket.py b4f4a394ce4049fafe267a146458d5b1725e2532788c5811b4b0b96f84715e31 gencode/python/udmi/schema/building_config_entity.py 6289f299f33104a14be1c67762c8bcb494c008d34a2ff906ef3760164538fc82 gencode/python/udmi/schema/building_translation.py -58a113be2abdd203ce9e34036cc3d6be0dae1a06672ad0c498d94f1b0f120cbe gencode/python/udmi/schema/category.py +7772d361e087695fcae6ff77af94f1595b7d69b5e5982b3c8d7e353d779032bf 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 diff --git a/gencode/docs/commands_mapping.html b/gencode/docs/commands_mapping.html index 5765addb82..16f8656ac5 100644 --- a/gencode/docs/commands_mapping.html +++ b/gencode/docs/commands_mapping.html @@ -534,11 +534,6 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 -
@@ -1893,7 +1888,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -1933,7 +1928,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -1973,7 +1968,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2013,7 +2008,7 @@

/> item 36

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2053,7 +2048,7 @@

/> item 37

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2093,7 +2088,7 @@

/> item 38

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2133,7 +2128,7 @@

/> item 39

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2173,7 +2168,7 @@

/> item 40

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2213,7 +2208,7 @@

/> item 41

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2253,47 +2248,7 @@

/> item 42

Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/configuration_execution.html b/gencode/docs/configuration_execution.html index a9ff60cae7..2d5f849a91 100644 --- a/gencode/docs/configuration_execution.html +++ b/gencode/docs/configuration_execution.html @@ -4495,11 +4495,6 @@

id="mapping_configuration_devices_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_mapping_configuration_devices_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#mapping_configuration_devices_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -6568,7 +6563,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -6629,7 +6624,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -6690,7 +6685,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -6751,7 +6746,7 @@

/> item 36

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -6812,7 +6807,7 @@

/> item 37

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -6873,7 +6868,7 @@

/> item 38

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -6934,7 +6929,7 @@

/> item 39

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -6995,7 +6990,7 @@

/> item 40

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -7056,7 +7051,7 @@

/> item 41

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -7117,68 +7112,7 @@

/> item 42

Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events.html b/gencode/docs/events.html index 67e223aaa4..e079d3dfc4 100644 --- a/gencode/docs/events.html +++ b/gencode/docs/events.html @@ -680,11 +680,6 @@

id="system_logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_system_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#system_logentries_items_category_oneOf_i42')" >Option 43 -
@@ -2515,7 +2510,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2569,7 +2564,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -2623,7 +2618,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2677,7 +2672,7 @@

/> item 36

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2731,7 +2726,7 @@

/> item 37

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2785,7 +2780,7 @@

/> item 38

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2839,7 +2834,7 @@

/> item 39

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2893,7 +2888,7 @@

/> item 40

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2947,7 +2942,7 @@

/> item 41

Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -3001,61 +2996,7 @@

/> item 42

Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -4616,11 +4557,6 @@

id="discovery_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_status_category_oneOf_i42')" >Option 43 -
@@ -6213,7 +6149,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -6260,7 +6196,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -6307,7 +6243,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -6354,7 +6290,7 @@

/> item 36

Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -6401,7 +6337,7 @@

/> item 37

Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -6448,7 +6384,7 @@

/> item 38

Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -6495,7 +6431,7 @@

/> item 39

Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -6542,7 +6478,7 @@

/> item 40

Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -6589,7 +6525,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -6636,54 +6572,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13185,11 +13074,6 @@

id="discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -15734,7 +15618,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -15809,7 +15693,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -15884,7 +15768,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -15959,7 +15843,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -16034,7 +15918,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -16109,7 +15993,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -16184,7 +16068,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -16259,7 +16143,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -16334,7 +16218,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -16409,82 +16293,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -18644,11 +18453,6 @@

id="discovery_refs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_refs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_refs_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -20717,7 +20521,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -20778,7 +20582,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -20839,7 +20643,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -20900,7 +20704,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -20961,7 +20765,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -21022,7 +20826,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -21083,7 +20887,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -21144,7 +20948,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -21205,7 +21009,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -21266,68 +21070,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_discovery.html b/gencode/docs/events_discovery.html index 2cc2966929..18d4760597 100644 --- a/gencode/docs/events_discovery.html +++ b/gencode/docs/events_discovery.html @@ -504,11 +504,6 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 -
@@ -1863,7 +1858,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -1903,7 +1898,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -1943,7 +1938,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -1983,7 +1978,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2023,7 +2018,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2063,7 +2058,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2103,7 +2098,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2143,7 +2138,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2183,7 +2178,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2223,47 +2218,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -8030,11 +7985,6 @@

id="points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -10341,7 +10291,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -10409,7 +10359,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -10477,7 +10427,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -10545,7 +10495,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -10613,7 +10563,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -10681,7 +10631,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -10749,7 +10699,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -10817,7 +10767,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -10885,7 +10835,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -10953,75 +10903,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -12978,11 +12860,6 @@

id="refs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_refs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#refs_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -14813,7 +14690,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -14867,7 +14744,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -14921,7 +14798,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -14975,7 +14852,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -15029,7 +14906,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -15083,7 +14960,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -15137,7 +15014,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -15191,7 +15068,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -15245,7 +15122,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -15299,61 +15176,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_mapping.html b/gencode/docs/events_mapping.html index 83b5ca5fff..577852e796 100644 --- a/gencode/docs/events_mapping.html +++ b/gencode/docs/events_mapping.html @@ -466,11 +466,6 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 -
@@ -1825,7 +1820,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -1865,7 +1860,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -1905,7 +1900,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -1945,7 +1940,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -1985,7 +1980,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2025,7 +2020,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2065,7 +2060,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2105,7 +2100,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2145,7 +2140,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2185,47 +2180,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_system.html b/gencode/docs/events_system.html index c63ba6bc0e..7a982b2936 100644 --- a/gencode/docs/events_system.html +++ b/gencode/docs/events_system.html @@ -585,11 +585,6 @@

id="logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#logentries_items_category_oneOf_i42')" >Option 43 -
@@ -2182,7 +2177,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2229,7 +2224,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -2276,7 +2271,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2323,7 +2318,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2370,7 +2365,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2417,7 +2412,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2464,7 +2459,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2511,7 +2506,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2558,7 +2553,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2605,54 +2600,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_udmi.html b/gencode/docs/events_udmi.html index 72114bf3ac..17810d8d7d 100644 --- a/gencode/docs/events_udmi.html +++ b/gencode/docs/events_udmi.html @@ -513,11 +513,6 @@

id="logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#logentries_items_category_oneOf_i42')" >Option 43 -
@@ -2110,7 +2105,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2157,7 +2152,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -2204,7 +2199,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2251,7 +2246,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2298,7 +2293,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2345,7 +2340,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2392,7 +2387,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2439,7 +2434,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2486,7 +2481,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2533,54 +2528,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/events_validation.html b/gencode/docs/events_validation.html index 6b4ab7f830..2019f89ea1 100644 --- a/gencode/docs/events_validation.html +++ b/gencode/docs/events_validation.html @@ -534,11 +534,6 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 -
@@ -1893,7 +1888,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -1933,7 +1928,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -1973,7 +1968,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2013,7 +2008,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2053,7 +2048,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2093,7 +2088,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2133,7 +2128,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2173,7 +2168,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2213,7 +2208,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2253,47 +2248,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -3004,11 +2959,6 @@

id="errors_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_errors_items_category_oneOf_i42" role="tab" onclick="setAnchor('#errors_items_category_oneOf_i42')" >Option 43 -
@@ -4601,7 +4551,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -4648,7 +4598,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -4695,7 +4645,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -4742,7 +4692,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -4789,7 +4739,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -4836,7 +4786,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -4883,7 +4833,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -4930,7 +4880,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -4977,7 +4927,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -5024,54 +4974,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/metadata.html b/gencode/docs/metadata.html index 5feaa022d5..6cb276feb4 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -8745,11 +8745,6 @@

id="alarmset_alarms_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_alarmset_alarms_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#alarmset_alarms_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -11294,7 +11289,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -11369,7 +11364,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -11444,7 +11439,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -11519,7 +11514,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -11594,7 +11589,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -11669,7 +11664,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -11744,7 +11739,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -11819,7 +11814,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -11894,7 +11889,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -11969,82 +11964,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -15572,11 +15492,6 @@

id="pointset_points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_pointset_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#pointset_points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -18121,7 +18036,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -18196,7 +18111,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -18271,7 +18186,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -18346,7 +18261,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -18421,7 +18336,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -18496,7 +18411,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -18571,7 +18486,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -18646,7 +18561,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -18721,7 +18636,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -18796,82 +18711,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -20817,11 +20657,6 @@

id="structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#structure_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -22652,7 +22487,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -22706,7 +22541,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -22760,7 +22595,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -22814,7 +22649,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -22868,7 +22703,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -22922,7 +22757,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -22976,7 +22811,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -23030,7 +22865,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -23084,7 +22919,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -23138,61 +22973,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -30429,11 +30210,6 @@

id="structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#structure_pattern1_points_pattern1_structure_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -33216,7 +32992,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -33298,7 +33074,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -33380,7 +33156,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -33462,7 +33238,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -33544,7 +33320,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -33626,7 +33402,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -33708,7 +33484,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -33790,7 +33566,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -33872,7 +33648,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -33954,89 +33730,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -36399,11 +36093,6 @@

id="structure_pattern1_refs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_structure_pattern1_refs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#structure_pattern1_refs_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -38710,7 +38399,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -38778,7 +38467,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -38846,7 +38535,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -38914,7 +38603,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -38982,7 +38671,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -39050,7 +38739,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -39118,7 +38807,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -39186,7 +38875,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -39254,7 +38943,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -39322,75 +39011,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/monitoring.html b/gencode/docs/monitoring.html index a490a33bc9..641fd8f5ad 100644 --- a/gencode/docs/monitoring.html +++ b/gencode/docs/monitoring.html @@ -782,11 +782,6 @@

id="metric_system_logentries_items_category_oneOf_i42" data-toggle="tab" href="#tab-pane_metric_system_logentries_items_category_oneOf_i42" role="tab" onclick="setAnchor('#metric_system_logentries_items_category_oneOf_i42')" >Option 43 -
@@ -2855,7 +2850,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2916,7 +2911,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -2977,7 +2972,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -3038,7 +3033,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -3099,7 +3094,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -3160,7 +3155,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -3221,7 +3216,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -3282,7 +3277,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -3343,7 +3338,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -3404,68 +3399,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/state.html b/gencode/docs/state.html index c9c2df3b6a..f12e989292 100644 --- a/gencode/docs/state.html +++ b/gencode/docs/state.html @@ -1312,11 +1312,6 @@

id="system_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_system_status_category_oneOf_i42" role="tab" onclick="setAnchor('#system_status_category_oneOf_i42')" >Option 43 -
@@ -2909,7 +2904,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2956,7 +2951,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -3003,7 +2998,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -3050,7 +3045,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -3097,7 +3092,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -3144,7 +3139,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -3191,7 +3186,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -3238,7 +3233,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -3285,7 +3280,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -3332,54 +3327,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -3934,11 +3882,6 @@

id="gateway_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_gateway_status_category_oneOf_i42" role="tab" onclick="setAnchor('#gateway_status_category_oneOf_i42')" >Option 43 -
@@ -5531,7 +5474,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -5578,7 +5521,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -5625,7 +5568,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -5672,7 +5615,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -5719,7 +5662,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -5766,7 +5709,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -5813,7 +5756,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -5860,7 +5803,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -5907,7 +5850,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -5954,54 +5897,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -7051,11 +6947,6 @@

id="discovery_families_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_discovery_families_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#discovery_families_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -9124,7 +9015,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -9185,7 +9076,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -9246,7 +9137,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -9307,7 +9198,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -9368,7 +9259,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -9429,7 +9320,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -9490,7 +9381,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -9551,7 +9442,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -9612,7 +9503,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -9673,68 +9564,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -10520,11 +10350,6 @@

id="localnet_families_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_localnet_families_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#localnet_families_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -12593,7 +12418,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -12654,7 +12479,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -12715,7 +12540,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -12776,7 +12601,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -12837,7 +12662,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -12898,7 +12723,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -12959,7 +12784,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -13020,7 +12845,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -13081,7 +12906,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -13142,68 +12967,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13995,11 +13759,6 @@

id="blobset_blobs_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_blobset_blobs_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#blobset_blobs_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -16068,7 +15827,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -16129,7 +15888,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -16190,7 +15949,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -16251,7 +16010,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -16312,7 +16071,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -16373,7 +16132,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -16434,7 +16193,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -16495,7 +16254,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -16556,7 +16315,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -16617,68 +16376,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -17456,11 +17154,6 @@

id="alarmset_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_alarmset_status_category_oneOf_i42" role="tab" onclick="setAnchor('#alarmset_status_category_oneOf_i42')" >Option 43 -
@@ -19053,7 +18746,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -19100,7 +18793,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -19147,7 +18840,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -19194,7 +18887,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -19241,7 +18934,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -19288,7 +18981,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -19335,7 +19028,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -19382,7 +19075,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -19429,7 +19122,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -19476,54 +19169,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -20300,11 +19946,6 @@

id="alarmset_alarms_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_alarmset_alarms_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#alarmset_alarms_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -22373,7 +22014,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -22434,7 +22075,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -22495,7 +22136,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -22556,7 +22197,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -22617,7 +22258,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -22678,7 +22319,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -22739,7 +22380,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -22800,7 +22441,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -22861,7 +22502,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -22922,68 +22563,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -23657,11 +23237,6 @@

id="pointset_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_pointset_status_category_oneOf_i42" role="tab" onclick="setAnchor('#pointset_status_category_oneOf_i42')" >Option 43 -
@@ -25254,7 +24829,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -25301,7 +24876,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -25348,7 +24923,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -25395,7 +24970,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -25442,7 +25017,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -25489,7 +25064,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -25536,7 +25111,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -25583,7 +25158,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -25630,7 +25205,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -25677,54 +25252,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -26501,11 +26029,6 @@

id="pointset_points_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_pointset_points_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#pointset_points_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -28574,7 +28097,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -28635,7 +28158,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -28696,7 +28219,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -28757,7 +28280,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -28818,7 +28341,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -28879,7 +28402,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -28940,7 +28463,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -29001,7 +28524,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -29062,7 +28585,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -29123,68 +28646,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/state_mapping.html b/gencode/docs/state_mapping.html index 22f2de9f47..6197b9dd1e 100644 --- a/gencode/docs/state_mapping.html +++ b/gencode/docs/state_mapping.html @@ -812,11 +812,6 @@

id="devices_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_devices_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#devices_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -2647,7 +2642,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2701,7 +2696,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -2755,7 +2750,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2809,7 +2804,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2863,7 +2858,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2917,7 +2912,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2971,7 +2966,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -3025,7 +3020,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -3079,7 +3074,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -3133,61 +3128,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/docs/state_validation.html b/gencode/docs/state_validation.html index 8e6e6abd80..2fa6234d4a 100644 --- a/gencode/docs/state_validation.html +++ b/gencode/docs/state_validation.html @@ -1048,11 +1048,6 @@

id="status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_status_category_oneOf_i42" role="tab" onclick="setAnchor('#status_category_oneOf_i42')" >Option 43 -
@@ -2407,7 +2402,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -2447,7 +2442,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -2487,7 +2482,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -2527,7 +2522,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -2567,7 +2562,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -2607,7 +2602,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -2647,7 +2642,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -2687,7 +2682,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -2727,7 +2722,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -2767,47 +2762,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -4117,11 +4072,6 @@

id="features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#features_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -6904,7 +6854,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -6986,7 +6936,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -7068,7 +7018,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -7150,7 +7100,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -7232,7 +7182,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -7314,7 +7264,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -7396,7 +7346,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -7478,7 +7428,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -7560,7 +7510,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -7642,89 +7592,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -8619,11 +8487,6 @@

id="features_pattern1_sequences_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_features_pattern1_sequences_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#features_pattern1_sequences_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -10930,7 +10793,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -10998,7 +10861,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -11066,7 +10929,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -11134,7 +10997,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -11202,7 +11065,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -11270,7 +11133,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -11338,7 +11201,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -11406,7 +11269,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -11474,7 +11337,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -11542,75 +11405,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -13295,11 +13090,6 @@

id="schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#schemas_pattern1_sequences_pattern1_capabilities_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -16082,7 +15872,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -16164,7 +15954,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -16246,7 +16036,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -16328,7 +16118,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -16410,7 +16200,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -16492,7 +16282,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -16574,7 +16364,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -16656,7 +16446,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -16738,7 +16528,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -16820,89 +16610,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -17797,11 +17505,6 @@

id="schemas_pattern1_sequences_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_schemas_pattern1_sequences_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#schemas_pattern1_sequences_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -20108,7 +19811,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -20176,7 +19879,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -20244,7 +19947,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -20312,7 +20015,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -20380,7 +20083,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -20448,7 +20151,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -20516,7 +20219,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -20584,7 +20287,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -20652,7 +20355,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -20720,75 +20423,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ @@ -22092,11 +21727,6 @@

id="devices_pattern1_status_category_oneOf_i42" data-toggle="tab" href="#tab-pane_devices_pattern1_status_category_oneOf_i42" role="tab" onclick="setAnchor('#devices_pattern1_status_category_oneOf_i42')" >Option 43 -
@@ -23927,7 +23557,7 @@

/> item 33

Type: object
-Must match regular expression: ^blobset\.blob\.abort$ +Must match regular expression: ^validation\.device\.receive$ @@ -23981,7 +23611,7 @@

/> item 34

Type: object
-Must match regular expression: ^validation\.device\.receive$ +Must match regular expression: ^validation\.device\.schema$ @@ -24035,7 +23665,7 @@

/> item 35

Type: object
-Must match regular expression: ^validation\.device\.schema$ +Must match regular expression: ^validation\.device\.content$ @@ -24089,7 +23719,7 @@

/> item 36Type: object
-Must match regular expression: ^validation\.device\.content$ +Must match regular expression: ^validation\.device\.multiple$ @@ -24143,7 +23773,7 @@

/> item 37Type: object
-Must match regular expression: ^validation\.device\.multiple$ +Must match regular expression: ^validation\.device\.extra$ @@ -24197,7 +23827,7 @@

/> item 38Type: object
-Must match regular expression: ^validation\.device\.extra$ +Must match regular expression: ^validation\.summary\.report$ @@ -24251,7 +23881,7 @@

/> item 39Type: object
-Must match regular expression: ^validation\.summary\.report$ +Must match regular expression: ^validation\.feature\.sequence$ @@ -24305,7 +23935,7 @@

/> item 40Type: object
-Must match regular expression: ^validation\.feature\.sequence$ +Must match regular expression: ^validation\.feature\.schema$ @@ -24359,7 +23989,7 @@

/> item 41Type: object
-Must match regular expression: ^validation\.feature\.schema$ +Must match regular expression: ^validation\.feature\.capability$ @@ -24413,61 +24043,7 @@

/> item 42Type: object
-Must match regular expression: ^validation\.feature\.capability$ - - - - - - -
- - - Type: object
-Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ +Must match regular expression: ^device(\.[a-z]+((_[a-z]+))*)+$ diff --git a/gencode/java/udmi/schema/Category.java b/gencode/java/udmi/schema/Category.java index 24f16a0906..2d5e3c8820 100644 --- a/gencode/java/udmi/schema/Category.java +++ b/gencode/java/udmi/schema/Category.java @@ -213,12 +213,6 @@ public class Category { public static final int BLOBSET_BLOB_APPLY_VALUE = NOTICE.value(); static { LEVEL.put(BLOBSET_BLOB_APPLY, NOTICE); } - // Aborting/Canceling a blob update - 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); } - // 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/python/udmi/schema/category.py b/gencode/python/udmi/schema/category.py index 47ab2c2da4..961cc2dfb9 100644 --- a/gencode/python/udmi/schema/category.py +++ b/gencode/python/udmi/schema/category.py @@ -110,9 +110,6 @@ class Category(Enum): # Applying a blob update BLOBSET_BLOB_APPLY = ("blobset.blob.apply", Level.NOTICE) - # Aborting/Canceling a blob update - BLOBSET_BLOB_ABORT = ("blobset.blob.abort", Level.NOTICE) - # Receiving/processing a message for validation. VALIDATION_DEVICE_RECEIVE = ("validation.device.receive", Level.DEBUG) 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 92bc55c38e..91cd23ec10 100644 --- a/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java +++ b/pubber/src/main/java/udmi/lib/client/host/PublisherHost.java @@ -61,8 +61,8 @@ import udmi.lib.base.MqttPublisher; import udmi.lib.base.UdmiException.BlobDependencyMismatchException; import udmi.lib.base.UdmiException.BlobIncompatibleException; -import udmi.lib.base.UdmiException.HashMismatchException; import udmi.lib.base.UdmiException.BlobParseException; +import udmi.lib.base.UdmiException.HashMismatchException; import udmi.lib.client.manager.DeviceManager; import udmi.lib.client.manager.PointsetManager; import udmi.lib.client.manager.SystemManager; @@ -128,10 +128,10 @@ public interface PublisherHost extends ManagerHost { "events/mapping", "{ NOT VALID JSON!"); List INVALID_KEYS = new ArrayList<>(INVALID_REPLACEMENTS.keySet()); Map, String> BLOB_ERROR_CATEGORIES = ImmutableMap.of( - BlobParseException.class, Category.BLOBSET_BLOB_VERIFY_PARSE, - HashMismatchException.class, Category.BLOBSET_BLOB_VERIFY_HASH, - BlobIncompatibleException.class, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, - BlobDependencyMismatchException.class, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY + BlobParseException.class, Category.BLOBSET_BLOB_VERIFY_PARSE, + HashMismatchException.class, Category.BLOBSET_BLOB_VERIFY_HASH, + BlobIncompatibleException.class, Category.BLOBSET_BLOB_VERIFY_INCOMPATIBLE, + BlobDependencyMismatchException.class, Category.BLOBSET_BLOB_VERIFY_DEPENDENCY ); String CORRUPT_STATE_MESSAGE = "!&*@(!*&@!"; @@ -200,7 +200,7 @@ default void processBlobset() { continue; } if (!isSupportedBlob(blobName)) { - warn("Skipping unknown blob key: " + blobName); + warn("Skipping unknown blob name: " + blobName); continue; } processBlob(blobName); @@ -243,7 +243,7 @@ default void processBlob(String blobName) { String category = BLOB_ERROR_CATEGORIES.getOrDefault(e.getClass(), Category.BLOBSET_BLOB_FETCH_FAILURE); - logEvent(category, "For blob key " + blobName + ":\n", e); + logEvent(category, "For blob name " + blobName + ":\n", e); } finally { publishAsynchronousState(); } @@ -270,7 +270,7 @@ default void applyBlobPayload(String blobName, BlobBlobsetConfig config, } /** - * Checks if the application supports the given blob key. + * Checks if the application supports the given blob name. */ default boolean isSupportedBlob(String blobName) { return false; @@ -901,11 +901,11 @@ 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(String blobKey) { + 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(blobKey, + return getDeviceState().blobset.blobs.computeIfAbsent(blobName, key -> new BlobBlobsetState()); } @@ -1218,9 +1218,9 @@ default void persistEndpoint(EndpointConfiguration endpoint) { /** * Persist active generation for a blob. */ - default void persistAppliedBlob(String blobKey, String generation) { - notice("Persisting generation " + generation + " for blob key " + blobKey); - getPersistentData().applied_blobs.put(blobKey, generation); + default void persistAppliedBlob(String blobName, String generation) { + notice("Persisting generation " + generation + " for blob name " + blobName); + getPersistentData().applied_blobs.put(blobName, generation); writePersistentStore(); } diff --git a/schema/category.json b/schema/category.json index c3219ccf33..f3e0fc20ab 100644 --- a/schema/category.json +++ b/schema/category.json @@ -37,7 +37,6 @@ { "pattern": "^blobset\\.blob\\.verify\\.incompatible$" }, { "pattern": "^blobset\\.blob\\.verify\\.dependency$" }, { "pattern": "^blobset\\.blob\\.apply$" }, - { "pattern": "^blobset\\.blob\\.abort$" }, { "pattern": "^validation\\.device\\.receive$" }, { "pattern": "^validation\\.device\\.schema$" }, { "pattern": "^validation\\.device\\.content$" }, 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 82f7edd0e5..192e77d328 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 @@ -436,8 +436,8 @@ private void runBlobUpdateTest(BlobUpdateTestingModel target, boolean expectSucc return version.equals(softwareVersion); }); } else { - checkThat(blobName + " state indicates error", () -> - blobBlobsetState.status != null && blobBlobsetState.status.level >= Level.ERROR.value()); + checkThat(blobName + " state indicates error", () -> + blobBlobsetState.status != null && blobBlobsetState.status.level >= Level.ERROR.value()); } } From 9b93182fd038ca53e4f9395241c13e66d8497783 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Wed, 15 Apr 2026 12:18:33 +0000 Subject: [PATCH 20/22] Fix gencode and schemas test --- docs/specs/categories.md | 1 - tests/schemas/events_system/categories.out | 12 ++++++------ tests/schemas/events_system/errors.out | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/specs/categories.md b/docs/specs/categories.md index 4804d40e69..575c060d63 100644 --- a/docs/specs/categories.md +++ b/docs/specs/categories.md @@ -66,7 +66,6 @@ could be used with a **WARNING** level for a warning case during normal operatio * _incompatible_: (**ERROR**) Blob is incompatible with the device * _dependency_: (**ERROR**) Expected software dependencies not found * _apply_: (**NOTICE**) Applying a blob update - * _abort_: (**NOTICE**) Aborting/Canceling a blob update * _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/tests/schemas/events_system/categories.out b/tests/schemas/events_system/categories.out index e3b7d56e2d..a150f3830c 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 44) - /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 44) - /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 44) - /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 44) - /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 44) - /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 44) + /logentries/3/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/4/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/5/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/6/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/7/category: instance failed to match exactly one schema (matched 0 out of 43) + /logentries/9/category: instance failed to match exactly one schema (matched 0 out of 43) diff --git a/tests/schemas/events_system/errors.out b/tests/schemas/events_system/errors.out index 43b8b39d07..52afc8b9dc 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 44) + /logentries/0/category: instance failed to match exactly one schema (matched 0 out of 43) /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"]) From f31b902336ba07054f3868401ee6d45d96e01146 Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Wed, 15 Apr 2026 12:49:40 +0000 Subject: [PATCH 21/22] Add golden files for sequencer tests --- docs/specs/sequences/generated.md | 96 +- .../config_blobset.attr | 10 + .../config_blobset.json | 3 + .../config_discovery.attr | 10 + .../config_discovery.json | 3 + .../config_localnet.attr | 10 + .../config_localnet.json | 3 + .../config_pointset.attr | 10 + .../config_pointset.json | 3 + .../config_system.attr | 10 + .../config_system.json | 3 + .../config_update.attr | 10 + .../config_update.json | 55 + .../device_system.log | 210 +++ .../events_pointset.attr | 10 + .../events_pointset.json | 15 + .../events_system.attr | 10 + .../events_system.json | 430 +++++ .../local_blobset.json | 10 + .../local_discovery.json | 6 + .../local_localnet.json | 8 + .../local_pointset.json | 17 + .../local_system.json | 10 + .../local_update.json | 45 + .../blob_dependency_mismatch/sequence.log | 1511 ++++++++++++++++ .../blob_dependency_mismatch/sequence.md | 11 + .../state_blobset.attr | 10 + .../state_blobset.json | 10 + .../state_discovery.attr | 10 + .../state_discovery.json | 5 + .../state_localnet.attr | 10 + .../state_localnet.json | 18 + .../state_pointset.attr | 10 + .../state_pointset.json | 16 + .../state_system.attr | 10 + .../state_system.json | 26 + .../state_update.attr | 10 + .../state_update.json | 69 + .../state_validation.attr | 10 + .../state_validation.json | 3 + .../blob_fetch_failure/config_blobset.attr | 10 + .../blob_fetch_failure/config_blobset.json | 3 + .../blob_fetch_failure/config_discovery.attr | 10 + .../blob_fetch_failure/config_discovery.json | 3 + .../blob_fetch_failure/config_localnet.attr | 10 + .../blob_fetch_failure/config_localnet.json | 3 + .../blob_fetch_failure/config_pointset.attr | 10 + .../blob_fetch_failure/config_pointset.json | 3 + .../blob_fetch_failure/config_system.attr | 10 + .../blob_fetch_failure/config_system.json | 3 + .../blob_fetch_failure/config_update.attr | 10 + .../blob_fetch_failure/config_update.json | 55 + .../blob_fetch_failure/device_system.log | 184 ++ .../blob_fetch_failure/events_pointset.attr | 10 + .../blob_fetch_failure/events_pointset.json | 15 + .../blob_fetch_failure/events_system.attr | 10 + .../blob_fetch_failure/events_system.json | 64 + .../blob_fetch_failure/local_blobset.json | 10 + .../blob_fetch_failure/local_discovery.json | 6 + .../blob_fetch_failure/local_localnet.json | 8 + .../blob_fetch_failure/local_pointset.json | 17 + .../blob_fetch_failure/local_system.json | 10 + .../blob_fetch_failure/local_update.json | 45 + .../sequences/blob_fetch_failure/sequence.log | 1599 +++++++++++++++++ .../sequences/blob_fetch_failure/sequence.md | 11 + .../blob_fetch_failure/state_blobset.attr | 10 + .../blob_fetch_failure/state_blobset.json | 17 + .../blob_fetch_failure/state_discovery.attr | 10 + .../blob_fetch_failure/state_discovery.json | 5 + .../blob_fetch_failure/state_localnet.attr | 10 + .../blob_fetch_failure/state_localnet.json | 18 + .../blob_fetch_failure/state_pointset.attr | 10 + .../blob_fetch_failure/state_pointset.json | 16 + .../blob_fetch_failure/state_system.attr | 10 + .../blob_fetch_failure/state_system.json | 26 + .../blob_fetch_failure/state_update.attr | 10 + .../blob_fetch_failure/state_update.json | 76 + .../blob_fetch_failure/state_validation.attr | 10 + .../blob_fetch_failure/state_validation.json | 3 + .../blob_hash_mismatch/config_blobset.attr | 10 + .../blob_hash_mismatch/config_blobset.json | 3 + .../blob_hash_mismatch/config_discovery.attr | 10 + .../blob_hash_mismatch/config_discovery.json | 3 + .../blob_hash_mismatch/config_localnet.attr | 10 + .../blob_hash_mismatch/config_localnet.json | 3 + .../blob_hash_mismatch/config_pointset.attr | 10 + .../blob_hash_mismatch/config_pointset.json | 3 + .../blob_hash_mismatch/config_system.attr | 10 + .../blob_hash_mismatch/config_system.json | 3 + .../blob_hash_mismatch/config_update.attr | 10 + .../blob_hash_mismatch/config_update.json | 55 + .../blob_hash_mismatch/device_system.log | 178 ++ .../blob_hash_mismatch/events_pointset.attr | 10 + .../blob_hash_mismatch/events_pointset.json | 15 + .../blob_hash_mismatch/events_system.attr | 10 + .../blob_hash_mismatch/events_system.json | 452 +++++ .../blob_hash_mismatch/local_blobset.json | 10 + .../blob_hash_mismatch/local_discovery.json | 6 + .../blob_hash_mismatch/local_localnet.json | 8 + .../blob_hash_mismatch/local_pointset.json | 17 + .../blob_hash_mismatch/local_system.json | 10 + .../blob_hash_mismatch/local_update.json | 45 + .../sequences/blob_hash_mismatch/sequence.log | 1434 +++++++++++++++ .../sequences/blob_hash_mismatch/sequence.md | 11 + .../blob_hash_mismatch/state_blobset.attr | 10 + .../blob_hash_mismatch/state_blobset.json | 10 + .../blob_hash_mismatch/state_discovery.attr | 10 + .../blob_hash_mismatch/state_discovery.json | 5 + .../blob_hash_mismatch/state_localnet.attr | 10 + .../blob_hash_mismatch/state_localnet.json | 18 + .../blob_hash_mismatch/state_pointset.attr | 10 + .../blob_hash_mismatch/state_pointset.json | 16 + .../blob_hash_mismatch/state_system.attr | 10 + .../blob_hash_mismatch/state_system.json | 26 + .../blob_hash_mismatch/state_update.attr | 10 + .../blob_hash_mismatch/state_update.json | 76 + .../blob_hash_mismatch/state_validation.attr | 10 + .../blob_hash_mismatch/state_validation.json | 3 + .../blob_incompatible/config_blobset.attr | 10 + .../blob_incompatible/config_blobset.json | 3 + .../blob_incompatible/config_discovery.attr | 10 + .../blob_incompatible/config_discovery.json | 3 + .../blob_incompatible/config_localnet.attr | 10 + .../blob_incompatible/config_localnet.json | 3 + .../blob_incompatible/config_pointset.attr | 10 + .../blob_incompatible/config_pointset.json | 3 + .../blob_incompatible/config_system.attr | 10 + .../blob_incompatible/config_system.json | 3 + .../blob_incompatible/config_update.attr | 10 + .../blob_incompatible/config_update.json | 55 + .../blob_incompatible/device_system.log | 212 +++ .../blob_incompatible/events_pointset.attr | 10 + .../blob_incompatible/events_pointset.json | 15 + .../blob_incompatible/events_system.attr | 10 + .../blob_incompatible/events_system.json | 73 + .../blob_incompatible/local_blobset.json | 10 + .../blob_incompatible/local_discovery.json | 6 + .../blob_incompatible/local_localnet.json | 8 + .../blob_incompatible/local_pointset.json | 17 + .../blob_incompatible/local_system.json | 10 + .../blob_incompatible/local_update.json | 45 + .../sequences/blob_incompatible/sequence.log | 1526 ++++++++++++++++ .../sequences/blob_incompatible/sequence.md | 11 + .../blob_incompatible/state_blobset.attr | 10 + .../blob_incompatible/state_blobset.json | 10 + .../blob_incompatible/state_discovery.attr | 10 + .../blob_incompatible/state_discovery.json | 5 + .../blob_incompatible/state_localnet.attr | 10 + .../blob_incompatible/state_localnet.json | 18 + .../blob_incompatible/state_pointset.attr | 10 + .../blob_incompatible/state_pointset.json | 16 + .../blob_incompatible/state_system.attr | 10 + .../blob_incompatible/state_system.json | 26 + .../blob_incompatible/state_update.attr | 10 + .../blob_incompatible/state_update.json | 69 + .../blob_incompatible/state_validation.attr | 10 + .../blob_incompatible/state_validation.json | 3 + .../blob_parse_failure/config_blobset.attr | 10 + .../blob_parse_failure/config_blobset.json | 3 + .../blob_parse_failure/config_discovery.attr | 10 + .../blob_parse_failure/config_discovery.json | 3 + .../blob_parse_failure/config_localnet.attr | 10 + .../blob_parse_failure/config_localnet.json | 3 + .../blob_parse_failure/config_pointset.attr | 10 + .../blob_parse_failure/config_pointset.json | 3 + .../blob_parse_failure/config_system.attr | 10 + .../blob_parse_failure/config_system.json | 3 + .../blob_parse_failure/config_update.attr | 10 + .../blob_parse_failure/config_update.json | 55 + .../blob_parse_failure/device_system.log | 182 ++ .../blob_parse_failure/events_pointset.attr | 10 + .../blob_parse_failure/events_pointset.json | 15 + .../blob_parse_failure/events_system.attr | 10 + .../blob_parse_failure/events_system.json | 64 + .../blob_parse_failure/local_blobset.json | 10 + .../blob_parse_failure/local_discovery.json | 6 + .../blob_parse_failure/local_localnet.json | 8 + .../blob_parse_failure/local_pointset.json | 17 + .../blob_parse_failure/local_system.json | 10 + .../blob_parse_failure/local_update.json | 45 + .../sequences/blob_parse_failure/sequence.log | 1598 ++++++++++++++++ .../sequences/blob_parse_failure/sequence.md | 11 + .../blob_parse_failure/state_blobset.attr | 10 + .../blob_parse_failure/state_blobset.json | 17 + .../blob_parse_failure/state_discovery.attr | 10 + .../blob_parse_failure/state_discovery.json | 5 + .../blob_parse_failure/state_localnet.attr | 10 + .../blob_parse_failure/state_localnet.json | 18 + .../blob_parse_failure/state_pointset.attr | 10 + .../blob_parse_failure/state_pointset.json | 16 + .../blob_parse_failure/state_system.attr | 10 + .../blob_parse_failure/state_system.json | 26 + .../blob_parse_failure/state_update.attr | 10 + .../blob_parse_failure/state_update.json | 76 + .../blob_parse_failure/state_validation.attr | 10 + .../blob_parse_failure/state_validation.json | 3 + .../blob_update_success/config_blobset.attr | 10 + .../blob_update_success/config_blobset.json | 3 + .../blob_update_success/config_discovery.attr | 10 + .../blob_update_success/config_discovery.json | 3 + .../blob_update_success/config_localnet.attr | 10 + .../blob_update_success/config_localnet.json | 3 + .../blob_update_success/config_pointset.attr | 10 + .../blob_update_success/config_pointset.json | 3 + .../blob_update_success/config_system.attr | 10 + .../blob_update_success/config_system.json | 3 + .../blob_update_success/config_update.attr | 10 + .../blob_update_success/config_update.json | 55 + .../blob_update_success/device_system.log | 212 +++ .../blob_update_success/events_pointset.attr | 10 + .../blob_update_success/events_pointset.json | 15 + .../blob_update_success/events_system.attr | 10 + .../blob_update_success/events_system.json | 73 + .../blob_update_success/local_blobset.json | 10 + .../blob_update_success/local_discovery.json | 6 + .../blob_update_success/local_localnet.json | 8 + .../blob_update_success/local_pointset.json | 17 + .../blob_update_success/local_system.json | 10 + .../blob_update_success/local_update.json | 45 + .../blob_update_success/sequence.log | 1526 ++++++++++++++++ .../sequences/blob_update_success/sequence.md | 12 + .../blob_update_success/state_blobset.attr | 10 + .../blob_update_success/state_blobset.json | 10 + .../blob_update_success/state_discovery.attr | 10 + .../blob_update_success/state_discovery.json | 5 + .../blob_update_success/state_localnet.attr | 10 + .../blob_update_success/state_localnet.json | 18 + .../blob_update_success/state_pointset.attr | 10 + .../blob_update_success/state_pointset.json | 16 + .../blob_update_success/state_system.attr | 10 + .../blob_update_success/state_system.json | 26 + .../blob_update_success/state_update.attr | 10 + .../blob_update_success/state_update.json | 69 + .../blob_update_success/state_validation.attr | 10 + .../blob_update_success/state_validation.json | 3 + 235 files changed, 14571 insertions(+), 23 deletions(-) create mode 100644 validator/sequences/blob_dependency_mismatch/config_blobset.attr create mode 100644 validator/sequences/blob_dependency_mismatch/config_blobset.json create mode 100644 validator/sequences/blob_dependency_mismatch/config_discovery.attr create mode 100644 validator/sequences/blob_dependency_mismatch/config_discovery.json create mode 100644 validator/sequences/blob_dependency_mismatch/config_localnet.attr create mode 100644 validator/sequences/blob_dependency_mismatch/config_localnet.json create mode 100644 validator/sequences/blob_dependency_mismatch/config_pointset.attr create mode 100644 validator/sequences/blob_dependency_mismatch/config_pointset.json create mode 100644 validator/sequences/blob_dependency_mismatch/config_system.attr create mode 100644 validator/sequences/blob_dependency_mismatch/config_system.json create mode 100644 validator/sequences/blob_dependency_mismatch/config_update.attr create mode 100644 validator/sequences/blob_dependency_mismatch/config_update.json create mode 100644 validator/sequences/blob_dependency_mismatch/device_system.log create mode 100644 validator/sequences/blob_dependency_mismatch/events_pointset.attr create mode 100644 validator/sequences/blob_dependency_mismatch/events_pointset.json create mode 100644 validator/sequences/blob_dependency_mismatch/events_system.attr create mode 100644 validator/sequences/blob_dependency_mismatch/events_system.json create mode 100644 validator/sequences/blob_dependency_mismatch/local_blobset.json create mode 100644 validator/sequences/blob_dependency_mismatch/local_discovery.json create mode 100644 validator/sequences/blob_dependency_mismatch/local_localnet.json create mode 100644 validator/sequences/blob_dependency_mismatch/local_pointset.json create mode 100644 validator/sequences/blob_dependency_mismatch/local_system.json create mode 100644 validator/sequences/blob_dependency_mismatch/local_update.json create mode 100644 validator/sequences/blob_dependency_mismatch/sequence.log create mode 100644 validator/sequences/blob_dependency_mismatch/sequence.md create mode 100644 validator/sequences/blob_dependency_mismatch/state_blobset.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_blobset.json create mode 100644 validator/sequences/blob_dependency_mismatch/state_discovery.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_discovery.json create mode 100644 validator/sequences/blob_dependency_mismatch/state_localnet.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_localnet.json create mode 100644 validator/sequences/blob_dependency_mismatch/state_pointset.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_pointset.json create mode 100644 validator/sequences/blob_dependency_mismatch/state_system.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_system.json create mode 100644 validator/sequences/blob_dependency_mismatch/state_update.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_update.json create mode 100644 validator/sequences/blob_dependency_mismatch/state_validation.attr create mode 100644 validator/sequences/blob_dependency_mismatch/state_validation.json create mode 100644 validator/sequences/blob_fetch_failure/config_blobset.attr create mode 100644 validator/sequences/blob_fetch_failure/config_blobset.json create mode 100644 validator/sequences/blob_fetch_failure/config_discovery.attr create mode 100644 validator/sequences/blob_fetch_failure/config_discovery.json create mode 100644 validator/sequences/blob_fetch_failure/config_localnet.attr create mode 100644 validator/sequences/blob_fetch_failure/config_localnet.json create mode 100644 validator/sequences/blob_fetch_failure/config_pointset.attr create mode 100644 validator/sequences/blob_fetch_failure/config_pointset.json create mode 100644 validator/sequences/blob_fetch_failure/config_system.attr create mode 100644 validator/sequences/blob_fetch_failure/config_system.json create mode 100644 validator/sequences/blob_fetch_failure/config_update.attr create mode 100644 validator/sequences/blob_fetch_failure/config_update.json create mode 100644 validator/sequences/blob_fetch_failure/device_system.log create mode 100644 validator/sequences/blob_fetch_failure/events_pointset.attr create mode 100644 validator/sequences/blob_fetch_failure/events_pointset.json create mode 100644 validator/sequences/blob_fetch_failure/events_system.attr create mode 100644 validator/sequences/blob_fetch_failure/events_system.json create mode 100644 validator/sequences/blob_fetch_failure/local_blobset.json create mode 100644 validator/sequences/blob_fetch_failure/local_discovery.json create mode 100644 validator/sequences/blob_fetch_failure/local_localnet.json create mode 100644 validator/sequences/blob_fetch_failure/local_pointset.json create mode 100644 validator/sequences/blob_fetch_failure/local_system.json create mode 100644 validator/sequences/blob_fetch_failure/local_update.json create mode 100644 validator/sequences/blob_fetch_failure/sequence.log create mode 100644 validator/sequences/blob_fetch_failure/sequence.md create mode 100644 validator/sequences/blob_fetch_failure/state_blobset.attr create mode 100644 validator/sequences/blob_fetch_failure/state_blobset.json create mode 100644 validator/sequences/blob_fetch_failure/state_discovery.attr create mode 100644 validator/sequences/blob_fetch_failure/state_discovery.json create mode 100644 validator/sequences/blob_fetch_failure/state_localnet.attr create mode 100644 validator/sequences/blob_fetch_failure/state_localnet.json create mode 100644 validator/sequences/blob_fetch_failure/state_pointset.attr create mode 100644 validator/sequences/blob_fetch_failure/state_pointset.json create mode 100644 validator/sequences/blob_fetch_failure/state_system.attr create mode 100644 validator/sequences/blob_fetch_failure/state_system.json create mode 100644 validator/sequences/blob_fetch_failure/state_update.attr create mode 100644 validator/sequences/blob_fetch_failure/state_update.json create mode 100644 validator/sequences/blob_fetch_failure/state_validation.attr create mode 100644 validator/sequences/blob_fetch_failure/state_validation.json create mode 100644 validator/sequences/blob_hash_mismatch/config_blobset.attr create mode 100644 validator/sequences/blob_hash_mismatch/config_blobset.json create mode 100644 validator/sequences/blob_hash_mismatch/config_discovery.attr create mode 100644 validator/sequences/blob_hash_mismatch/config_discovery.json create mode 100644 validator/sequences/blob_hash_mismatch/config_localnet.attr create mode 100644 validator/sequences/blob_hash_mismatch/config_localnet.json create mode 100644 validator/sequences/blob_hash_mismatch/config_pointset.attr create mode 100644 validator/sequences/blob_hash_mismatch/config_pointset.json create mode 100644 validator/sequences/blob_hash_mismatch/config_system.attr create mode 100644 validator/sequences/blob_hash_mismatch/config_system.json create mode 100644 validator/sequences/blob_hash_mismatch/config_update.attr create mode 100644 validator/sequences/blob_hash_mismatch/config_update.json create mode 100644 validator/sequences/blob_hash_mismatch/device_system.log create mode 100644 validator/sequences/blob_hash_mismatch/events_pointset.attr create mode 100644 validator/sequences/blob_hash_mismatch/events_pointset.json create mode 100644 validator/sequences/blob_hash_mismatch/events_system.attr create mode 100644 validator/sequences/blob_hash_mismatch/events_system.json create mode 100644 validator/sequences/blob_hash_mismatch/local_blobset.json create mode 100644 validator/sequences/blob_hash_mismatch/local_discovery.json create mode 100644 validator/sequences/blob_hash_mismatch/local_localnet.json create mode 100644 validator/sequences/blob_hash_mismatch/local_pointset.json create mode 100644 validator/sequences/blob_hash_mismatch/local_system.json create mode 100644 validator/sequences/blob_hash_mismatch/local_update.json create mode 100644 validator/sequences/blob_hash_mismatch/sequence.log create mode 100644 validator/sequences/blob_hash_mismatch/sequence.md create mode 100644 validator/sequences/blob_hash_mismatch/state_blobset.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_blobset.json create mode 100644 validator/sequences/blob_hash_mismatch/state_discovery.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_discovery.json create mode 100644 validator/sequences/blob_hash_mismatch/state_localnet.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_localnet.json create mode 100644 validator/sequences/blob_hash_mismatch/state_pointset.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_pointset.json create mode 100644 validator/sequences/blob_hash_mismatch/state_system.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_system.json create mode 100644 validator/sequences/blob_hash_mismatch/state_update.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_update.json create mode 100644 validator/sequences/blob_hash_mismatch/state_validation.attr create mode 100644 validator/sequences/blob_hash_mismatch/state_validation.json create mode 100644 validator/sequences/blob_incompatible/config_blobset.attr create mode 100644 validator/sequences/blob_incompatible/config_blobset.json create mode 100644 validator/sequences/blob_incompatible/config_discovery.attr create mode 100644 validator/sequences/blob_incompatible/config_discovery.json create mode 100644 validator/sequences/blob_incompatible/config_localnet.attr create mode 100644 validator/sequences/blob_incompatible/config_localnet.json create mode 100644 validator/sequences/blob_incompatible/config_pointset.attr create mode 100644 validator/sequences/blob_incompatible/config_pointset.json create mode 100644 validator/sequences/blob_incompatible/config_system.attr create mode 100644 validator/sequences/blob_incompatible/config_system.json create mode 100644 validator/sequences/blob_incompatible/config_update.attr create mode 100644 validator/sequences/blob_incompatible/config_update.json create mode 100644 validator/sequences/blob_incompatible/device_system.log create mode 100644 validator/sequences/blob_incompatible/events_pointset.attr create mode 100644 validator/sequences/blob_incompatible/events_pointset.json create mode 100644 validator/sequences/blob_incompatible/events_system.attr create mode 100644 validator/sequences/blob_incompatible/events_system.json create mode 100644 validator/sequences/blob_incompatible/local_blobset.json create mode 100644 validator/sequences/blob_incompatible/local_discovery.json create mode 100644 validator/sequences/blob_incompatible/local_localnet.json create mode 100644 validator/sequences/blob_incompatible/local_pointset.json create mode 100644 validator/sequences/blob_incompatible/local_system.json create mode 100644 validator/sequences/blob_incompatible/local_update.json create mode 100644 validator/sequences/blob_incompatible/sequence.log create mode 100644 validator/sequences/blob_incompatible/sequence.md create mode 100644 validator/sequences/blob_incompatible/state_blobset.attr create mode 100644 validator/sequences/blob_incompatible/state_blobset.json create mode 100644 validator/sequences/blob_incompatible/state_discovery.attr create mode 100644 validator/sequences/blob_incompatible/state_discovery.json create mode 100644 validator/sequences/blob_incompatible/state_localnet.attr create mode 100644 validator/sequences/blob_incompatible/state_localnet.json create mode 100644 validator/sequences/blob_incompatible/state_pointset.attr create mode 100644 validator/sequences/blob_incompatible/state_pointset.json create mode 100644 validator/sequences/blob_incompatible/state_system.attr create mode 100644 validator/sequences/blob_incompatible/state_system.json create mode 100644 validator/sequences/blob_incompatible/state_update.attr create mode 100644 validator/sequences/blob_incompatible/state_update.json create mode 100644 validator/sequences/blob_incompatible/state_validation.attr create mode 100644 validator/sequences/blob_incompatible/state_validation.json create mode 100644 validator/sequences/blob_parse_failure/config_blobset.attr create mode 100644 validator/sequences/blob_parse_failure/config_blobset.json create mode 100644 validator/sequences/blob_parse_failure/config_discovery.attr create mode 100644 validator/sequences/blob_parse_failure/config_discovery.json create mode 100644 validator/sequences/blob_parse_failure/config_localnet.attr create mode 100644 validator/sequences/blob_parse_failure/config_localnet.json create mode 100644 validator/sequences/blob_parse_failure/config_pointset.attr create mode 100644 validator/sequences/blob_parse_failure/config_pointset.json create mode 100644 validator/sequences/blob_parse_failure/config_system.attr create mode 100644 validator/sequences/blob_parse_failure/config_system.json create mode 100644 validator/sequences/blob_parse_failure/config_update.attr create mode 100644 validator/sequences/blob_parse_failure/config_update.json create mode 100644 validator/sequences/blob_parse_failure/device_system.log create mode 100644 validator/sequences/blob_parse_failure/events_pointset.attr create mode 100644 validator/sequences/blob_parse_failure/events_pointset.json create mode 100644 validator/sequences/blob_parse_failure/events_system.attr create mode 100644 validator/sequences/blob_parse_failure/events_system.json create mode 100644 validator/sequences/blob_parse_failure/local_blobset.json create mode 100644 validator/sequences/blob_parse_failure/local_discovery.json create mode 100644 validator/sequences/blob_parse_failure/local_localnet.json create mode 100644 validator/sequences/blob_parse_failure/local_pointset.json create mode 100644 validator/sequences/blob_parse_failure/local_system.json create mode 100644 validator/sequences/blob_parse_failure/local_update.json create mode 100644 validator/sequences/blob_parse_failure/sequence.log create mode 100644 validator/sequences/blob_parse_failure/sequence.md create mode 100644 validator/sequences/blob_parse_failure/state_blobset.attr create mode 100644 validator/sequences/blob_parse_failure/state_blobset.json create mode 100644 validator/sequences/blob_parse_failure/state_discovery.attr create mode 100644 validator/sequences/blob_parse_failure/state_discovery.json create mode 100644 validator/sequences/blob_parse_failure/state_localnet.attr create mode 100644 validator/sequences/blob_parse_failure/state_localnet.json create mode 100644 validator/sequences/blob_parse_failure/state_pointset.attr create mode 100644 validator/sequences/blob_parse_failure/state_pointset.json create mode 100644 validator/sequences/blob_parse_failure/state_system.attr create mode 100644 validator/sequences/blob_parse_failure/state_system.json create mode 100644 validator/sequences/blob_parse_failure/state_update.attr create mode 100644 validator/sequences/blob_parse_failure/state_update.json create mode 100644 validator/sequences/blob_parse_failure/state_validation.attr create mode 100644 validator/sequences/blob_parse_failure/state_validation.json create mode 100644 validator/sequences/blob_update_success/config_blobset.attr create mode 100644 validator/sequences/blob_update_success/config_blobset.json create mode 100644 validator/sequences/blob_update_success/config_discovery.attr create mode 100644 validator/sequences/blob_update_success/config_discovery.json create mode 100644 validator/sequences/blob_update_success/config_localnet.attr create mode 100644 validator/sequences/blob_update_success/config_localnet.json create mode 100644 validator/sequences/blob_update_success/config_pointset.attr create mode 100644 validator/sequences/blob_update_success/config_pointset.json create mode 100644 validator/sequences/blob_update_success/config_system.attr create mode 100644 validator/sequences/blob_update_success/config_system.json create mode 100644 validator/sequences/blob_update_success/config_update.attr create mode 100644 validator/sequences/blob_update_success/config_update.json create mode 100644 validator/sequences/blob_update_success/device_system.log create mode 100644 validator/sequences/blob_update_success/events_pointset.attr create mode 100644 validator/sequences/blob_update_success/events_pointset.json create mode 100644 validator/sequences/blob_update_success/events_system.attr create mode 100644 validator/sequences/blob_update_success/events_system.json create mode 100644 validator/sequences/blob_update_success/local_blobset.json create mode 100644 validator/sequences/blob_update_success/local_discovery.json create mode 100644 validator/sequences/blob_update_success/local_localnet.json create mode 100644 validator/sequences/blob_update_success/local_pointset.json create mode 100644 validator/sequences/blob_update_success/local_system.json create mode 100644 validator/sequences/blob_update_success/local_update.json create mode 100644 validator/sequences/blob_update_success/sequence.log create mode 100644 validator/sequences/blob_update_success/sequence.md create mode 100644 validator/sequences/blob_update_success/state_blobset.attr create mode 100644 validator/sequences/blob_update_success/state_blobset.json create mode 100644 validator/sequences/blob_update_success/state_discovery.attr create mode 100644 validator/sequences/blob_update_success/state_discovery.json create mode 100644 validator/sequences/blob_update_success/state_localnet.attr create mode 100644 validator/sequences/blob_update_success/state_localnet.json create mode 100644 validator/sequences/blob_update_success/state_pointset.attr create mode 100644 validator/sequences/blob_update_success/state_pointset.json create mode 100644 validator/sequences/blob_update_success/state_system.attr create mode 100644 validator/sequences/blob_update_success/state_system.json create mode 100644 validator/sequences/blob_update_success/state_update.attr create mode 100644 validator/sequences/blob_update_success/state_update.json create mode 100644 validator/sequences/blob_update_success/state_validation.attr create mode 100644 validator/sequences/blob_update_success/state_validation.json diff --git a/docs/specs/sequences/generated.md b/docs/specs/sequences/generated.md index 4821b429d4..cb2ecbd9b4 100644 --- a/docs/specs/sequences/generated.md +++ b/docs/specs/sequences/generated.md @@ -34,6 +34,12 @@ 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_dependency_mismatch](#blob_dependency_mismatch-preview) +* [blob_fetch_failure](#blob_fetch_failure-preview) +* [blob_hash_mismatch](#blob_hash_mismatch-preview) +* [blob_incompatible](#blob_incompatible-preview) +* [blob_parse_failure](#blob_parse_failure-preview) +* [blob_update_success](#blob_update_success-preview) * [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. @@ -56,8 +62,6 @@ Some caveats: * [family_ipv6_addr](#family_ipv6_addr-preview): Test skipped: No ipv6 address defined in metadata * [gateway_proxy_events](#gateway_proxy_events-beta): Check that a gateway proxies pointset events for indicated devices Test skipped: Not a gateway * [gateway_proxy_state](#gateway_proxy_state-preview): Check that a gateway proxies state updates for indicated devices Test skipped: Not a gateway -* [ota_fetch_failure](#ota_fetch_failure-preview) -* [ota_happy_path](#ota_happy_path-preview) * [pointset_publish](#pointset_publish-stable): Check that a device publishes pointset events * [pointset_publish_interval](#pointset_publish_interval-stable): Check handling of sample_rate_sec and sample_limit_sec * [pointset_remove_point](#pointset_remove_point-stable): Check that pointset state does not report an unconfigured point @@ -93,6 +97,73 @@ Error handling for badly formed gateway target family Test skipped: Not a proxied device +## blob_dependency_mismatch (PREVIEW) + +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 `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module software version reflects update + +Test passed. + +## blob_fetch_failure (PREVIEW) + +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 `ERROR` category `blobset.blob.fetch.failure` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_hash_mismatch (PREVIEW) + +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 `ERROR` category `blobset.blob.verify.hash` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_incompatible (PREVIEW) + +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 `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module software version reflects update + +Test passed. + +## blob_parse_failure (PREVIEW) + +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 `ERROR` category `blobset.blob.verify.parse` +1. Check that pubber_module state indicates error + +Test passed. + +## blob_update_success (PREVIEW) + +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 `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module state is success +1. Check that pubber_module software version reflects update + +Test passed. + ## broken_config (STABLE) Check that the device correctly handles a broken (non-json) config message. @@ -447,27 +518,6 @@ Check that a gateway proxies state updates for indicated devices Test skipped: Not a gateway -## ota_fetch_failure (PREVIEW) - -1. Update config trigger ota 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 is APPLY -1. Wait until system logs level `ERROR` category `blobset.blob.fetch.failure` -1. Wait for pubber_module phase is FINAL and status is not null - -Test passed. - -## ota_happy_path (PREVIEW) - -1. Update config trigger ota 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 is APPLY -1. Wait until system logs level `NOTICE` category `blobset.blob.apply` -1. Wait for pubber_module phase is FINAL and status is null -1. Check that pubber_module software version reflects update - -Test passed. - ## pointset_publish (STABLE) Check that a device publishes pointset events diff --git a/validator/sequences/blob_dependency_mismatch/config_blobset.attr b/validator/sequences/blob_dependency_mismatch/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/config_blobset.json b/validator/sequences/blob_dependency_mismatch/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/config_discovery.attr b/validator/sequences/blob_dependency_mismatch/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/config_discovery.json b/validator/sequences/blob_dependency_mismatch/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/config_localnet.attr b/validator/sequences/blob_dependency_mismatch/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/config_localnet.json b/validator/sequences/blob_dependency_mismatch/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/config_pointset.attr b/validator/sequences/blob_dependency_mismatch/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/config_pointset.json b/validator/sequences/blob_dependency_mismatch/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/config_system.attr b/validator/sequences/blob_dependency_mismatch/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/config_system.json b/validator/sequences/blob_dependency_mismatch/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/config_update.attr b/validator/sequences/blob_dependency_mismatch/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/config_update.json b/validator/sequences/blob_dependency_mismatch/config_update.json new file mode 100644 index 0000000000..e805b28b3c --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_dependency_mismatch" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "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_dependency_mismatch/device_system.log b/validator/sequences/blob_dependency_mismatch/device_system.log new file mode 100644 index 0000000000..7a7a5ba7b8 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/device_system.log @@ -0,0 +1,210 @@ +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-30900, 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-30900 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1776256669084 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 Start waiting 10s for config latch for AHU-1 +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 Ending connection 1776256669084 with 1 +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 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 -7645ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1852ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 1845ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 887ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 885ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 878ms +TIMESTAMP DEBUG device.log State update defer 877ms +TIMESTAMP DEBUG device.log State update defer 875ms +TIMESTAMP DEBUG device.log State update defer 874ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -223ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 9ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1377ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 1737ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1736ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 755ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 749ms +TIMESTAMP DEBUG device.log State update defer 748ms +TIMESTAMP DEBUG device.log State update defer 748ms +TIMESTAMP DEBUG device.log State update defer 747ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 528ms +TIMESTAMP DEBUG device.log State update defer 528ms +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 524ms +TIMESTAMP DEBUG device.log State update defer 523ms +TIMESTAMP DEBUG device.log State update defer 523ms +TIMESTAMP DEBUG device.log State update defer 523ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1571ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1569ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_dependency_mismatch) +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 1562ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG blobset.blob.fetch Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch.success Successfully fetched blob data for pubber_module +TIMESTAMP NOTICE blobset.blob.apply Applying blob update... +TIMESTAMP INFO device.log Triggering mock OTA update to commit v2 +TIMESTAMP INFO device.log Simulating OTA update delay... +TIMESTAMP NOTICE device.log Mock OTA update completed successfully. +TIMESTAMP NOTICE device.log Blob pubber_module successfully applied +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_dependency_mismatch) +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 NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_dependency_mismatch/events_pointset.attr b/validator/sequences/blob_dependency_mismatch/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/events_pointset.json b/validator/sequences/blob_dependency_mismatch/events_pointset.json new file mode 100644 index 0000000000..50ec4523e9 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/events_system.attr b/validator/sequences/blob_dependency_mismatch/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/events_system.json b/validator/sequences/blob_dependency_mismatch/events_system.json new file mode 100644 index 0000000000..e06071dda0 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/events_system.json @@ -0,0 +1,430 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "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_dependency_mismatch)", + "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 -1377ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_dependency_mismatch)", + "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_dependency_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_dependency_mismatch\",\n \"transaction_id\" : \"RC:4ec32b.00000008\",\n \"config_base\" : 70\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 1737ms", + "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 1736ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_dependency_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_dependency_mismatch\",\n \"transaction_id\" : \"RC:4ec32b.0000000c\",\n \"config_base\" : 71\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 755ms", + "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_dependency_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_dependency_mismatch\",\n \"transaction_id\" : \"RC:4ec32b.00000009\",\n \"config_base\" : 72\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 749ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 748ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 748ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 747ms", + "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 528ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 528ms", + "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 524ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 523ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 523ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 523ms", + "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_dependency_mismatch)", + "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 1571ms", + "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 1569ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_dependency_mismatch)", + "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 1562ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_dependency_mismatch)", + "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" : "Fetching blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Successfully fetched blob data for pubber_module", + "category" : "blobset.blob.fetch.success", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Applying blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Triggering mock OTA update to commit v2", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Simulating OTA update delay...", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Mock OTA update completed successfully.", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Blob pubber_module successfully applied", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_dependency_mismatch)", + "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" : "Persisting generation TIMESTAMP for blob name pubber_module", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Updating persistent store:\n{\n \"endpoint\" : {\n \"protocol\" : \"mqtt\",\n \"transport\" : \"ssl\",\n \"hostname\" : \"localhost\",\n \"client_id\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"topic_prefix\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"gatewayId\" : \"AHU-1\",\n \"deviceId\" : \"AHU-1\",\n \"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=\",\n \"algorithm\" : \"RS256\",\n \"auth_provider\" : {\n \"basic\" : {\n \"username\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"password\" : \"38269d11\"\n }\n }\n },\n \"restart_count\" : 1,\n \"applied_blobs\" : {\n \"pubber_module\" : \"TIMESTAMP\"\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 78.36754608154297 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/local_blobset.json b/validator/sequences/blob_dependency_mismatch/local_blobset.json new file mode 100644 index 0000000000..fbaa46852e --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/local_discovery.json b/validator/sequences/blob_dependency_mismatch/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/local_localnet.json b/validator/sequences/blob_dependency_mismatch/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/local_pointset.json b/validator/sequences/blob_dependency_mismatch/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/local_system.json b/validator/sequences/blob_dependency_mismatch/local_system.json new file mode 100644 index 0000000000..c2b30af82d --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_dependency_mismatch" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/local_update.json b/validator/sequences/blob_dependency_mismatch/local_update.json new file mode 100644 index 0000000000..71a3d80890 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_dependency_mismatch" + } + }, + "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_dependency_mismatch/sequence.log b/validator/sequences/blob_dependency_mismatch/sequence.log new file mode 100644 index 0000000000..a94a8fcbca --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/sequence.log @@ -0,0 +1,1511 @@ +TIMESTAMP NOTICE Starting test blob_dependency_mismatch ################################ +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$13(SequenceBase.java:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6098ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:4ec32b.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:4ec32b.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:4ec32b.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:4ec32b.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:4ec32b.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:d3395c5a +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:d3395c5a +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:74d0da1d +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-30900, 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-30900 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1776256669084 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: Start waiting 10s for config latch for AHU-1 +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: Ending connection 1776256669084 with 1 +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 NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:74d0da1d +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:158422be +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:158422be +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.00000004 +TIMESTAMP +TIMESTAMP RC:4ec32b.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-a9aa0b81-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_dependency_mismatch" +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:4ec32b.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:4ec32b.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:4ec32b.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @9s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @9s +TIMESTAMP DEBUG Config sync took 1s +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Saw last_config synchronized check disabled: missing state.system.last_config +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 @9s +TIMESTAMP INFO Stage start waiting for config update synchronized at @9s +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:c64e9767 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:c64e9767 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:c64e9767 +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-30900", +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" : "v2" +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.apply", +TIMESTAMP", +TIMESTAMP INFO Initial state #001: "level" : 300 +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-30900 +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:c64e9767-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-30900", +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" : "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:c64e9767-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:c64e9767-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:c64e9767-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:c64e9767-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:c64e9767-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:c64e9767-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:c64e9767-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:c64e9767 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:c64e9767 +TIMESTAMP +TIMESTAMP MP:c64e9767 +TIMESTAMP INFO Updated config #002: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @9s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @9s +TIMESTAMP DEBUG Config sync took 2s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1592ms +TIMESTAMP DEBUG Rate-limiting config by 1592ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:4ec32b.00000005 +TIMESTAMP +TIMESTAMP, because initial setup +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @11s +TIMESTAMP INFO Stage start waiting for config update synchronized at @11s +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:dcf87afe +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:dcf87afe +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:dcf87afe +TIMESTAMP INFO Updated state #002: Changed 1 fields: +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:dcf87afe-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-30900", +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" : "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:dcf87afe-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:dcf87afe-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:dcf87afe-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:dcf87afe-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:dcf87afe-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:dcf87afe-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:dcf87afe-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.00000005 +TIMESTAMP +TIMESTAMP RC:4ec32b.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:4ec32b.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:4ec32b.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:4ec32b.00000005 +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:29aa9c5c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:29aa9c5c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:29aa9c5c +TIMESTAMP INFO Updated state #003: Changed 3 fields: +TIMESTAMP` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:29aa9c5c-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-30900", +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" : "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:29aa9c5c-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 @12s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @12s +TIMESTAMP DEBUG Config sync took 1s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Waiting for device stateTransaction RC:4ec32b.00000006 (was null) +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @12s +TIMESTAMP INFO Stage start waiting for state query at @12s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:29aa9c5c-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:29aa9c5c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:29aa9c5c-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:29aa9c5c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:29aa9c5c-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:29aa9c5c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:4ec32b.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP INFO Received device configAcked +TIMESTAMP DEBUG Handling update message state_update RC:4ec32b.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:4ec32b.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:4ec32b.00000006 +TIMESTAMP INFO Updated state #004: Changed 0 fields. +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for state query at @13s after 1s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @13s +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @13s +TIMESTAMP INFO Stage start waiting for initial device state at @13s +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:4ec32b.00000007 +TIMESTAMP +TIMESTAMP, because before initial device state +TIMESTAMP TRACE Stage suspend waiting for initial device state at @14s +TIMESTAMP INFO Stage start waiting for config update synchronized at @14s +TIMESTAMP DEBUG Received command AHU-1/reply/update as RC:4ec32b.00000006 +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:8c114ea3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:8c114ea3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:8c114ea3 +TIMESTAMP INFO Updated state #005: Changed 4 fields: +TIMESTAMP INFO Updated state #005: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #005: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.00000007 +TIMESTAMP +TIMESTAMP RC:4ec32b.00000007 +TIMESTAMP INFO Updated config #004: 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:4ec32b.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:4ec32b.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:4ec32b.00000007 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:8c114ea3-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-30900", +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" : "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:8c114ea3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:8c114ea3-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:8c114ea3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:8c114ea3-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:8c114ea3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:8c114ea3-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:8c114ea3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:89225be8 +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 -7645ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1852ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 1845ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 887ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 885ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 878ms +TIMESTAMP DEBUG device.log: State update defer 877ms +TIMESTAMP DEBUG device.log: State update defer 875ms +TIMESTAMP DEBUG device.log: State update defer 874ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -223ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 9ms +TIMESTAMP DEBUG Handling device message events_system MP:89225be8 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f842456d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f842456d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f842456d +TIMESTAMP INFO Updated state #006: Changed 4 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #006: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #006: Set `system.status.category` = `system.config.apply` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:f842456d-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-30900", +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" : "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:f842456d-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 @17s after 3s +TIMESTAMP TRACE Stage resume waiting for initial device state at @17s +TIMESTAMP DEBUG Config sync took 4s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP +TIMESTAMP +TIMESTAMP DEBUG Stage finished waiting for initial device state at @17s after 4s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @17s +TIMESTAMP DEBUG Device state system status level is now 300 +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @17s +TIMESTAMP INFO Stage start waiting for config update synchronized at @17s +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f842456d-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:f842456d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f842456d-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:f842456d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @17s after 0s +TIMESTAMP TRACE Stage resume waiting for starting test wrapper at @17s +TIMESTAMP DEBUG Config sync took 4s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP TRACE Stage suspend waiting for starting test wrapper at @17s +TIMESTAMP INFO Stage start waiting for executing test at @17s +TIMESTAMP DEBUG stage begin waiting for executing test at @17s +TIMESTAMP DEBUG Allowing device state change blobset +TIMESTAMP INFO Testing adaptive blob update for blob key pubber_module +TIMESTAMP is 1979ms +TIMESTAMP DEBUG Rate-limiting config by 1979ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:4ec32b.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:4ec32b.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:4ec32b.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:4ec32b.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:4ec32b.0000000c +TIMESTAMP +TIMESTAMP, because trigger blob update for pubber_module +TIMESTAMP TRACE Stage suspend waiting for executing test at @19s +TIMESTAMP INFO Stage start waiting for config update synchronized at @19s +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f842456d-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:f842456d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:8517a0c6 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:8517a0c6 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:8517a0c6 +TIMESTAMP INFO Updated state #007: Changed 4 fields: +TIMESTAMP INFO Updated state #007: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #007: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.00000008 +TIMESTAMP +TIMESTAMP RC:4ec32b.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:4ec32b.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:4ec32b.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:4ec32b.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:8517a0c6-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-30900", +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" : "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:8517a0c6-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:8517a0c6-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:8517a0c6-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:8517a0c6-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:8517a0c6-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:8517a0c6-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:8517a0c6-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.0000000c +TIMESTAMP +TIMESTAMP RC:4ec32b.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:4ec32b.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:4ec32b.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:4ec32b.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.00000009 +TIMESTAMP +TIMESTAMP RC:4ec32b.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:4ec32b.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:4ec32b.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:4ec32b.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.0000000a +TIMESTAMP +TIMESTAMP RC:4ec32b.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:4ec32b.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:4ec32b.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:4ec32b.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:918097b7 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:918097b7 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:918097b7 +TIMESTAMP INFO Updated state #008: Changed 5 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #008: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #008: 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:918097b7-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-30900", +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" : "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:918097b7-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:918097b7-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:918097b7-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:918097b7-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:918097b7-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:918097b7-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:918097b7-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:4ec32b.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:4ec32b.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:4ec32b.0000000b +TIMESTAMP +TIMESTAMP RC:4ec32b.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:4ec32b.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:4ec32b.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:4ec32b.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:b104361c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b104361c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b104361c +TIMESTAMP INFO Updated state #009: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #009: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #009: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b104361c-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-30900", +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" : "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:b104361c-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 @24s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @24s +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 @24s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @24s +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 @26s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @26s +TIMESTAMP TRACE Stage suspend waiting for executing test at @26s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @26s +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:b104361c-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:b104361c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b104361c-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:b104361c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:b104361c-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:b104361c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b104361c-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:b104361c-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:816d51f3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:816d51f3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:816d51f3 +TIMESTAMP INFO Updated state #010: Changed 2 fields: +TIMESTAMP INFO Updated state #010: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @28s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @28s +TIMESTAMP TRACE Stage suspend waiting for executing test at @28s +TIMESTAMP INFO Stage start waiting for system logs level `NOTICE` category `blobset.blob.apply` at @28s +TIMESTAMP is 1961ms +TIMESTAMP DEBUG Rate-limiting config by 1961ms +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:816d51f3-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-30900", +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" : "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:816d51f3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:816d51f3-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:816d51f3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:816d51f3-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:816d51f3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:816d51f3-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:816d51f3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:816d51f3-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:816d51f3-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:47a6e29e +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1377ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 1737ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1736ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 755ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 749ms +TIMESTAMP DEBUG device.log: State update defer 748ms +TIMESTAMP DEBUG device.log: State update defer 748ms +TIMESTAMP DEBUG device.log: State update defer 747ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 528ms +TIMESTAMP DEBUG device.log: State update defer 528ms +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 524ms +TIMESTAMP DEBUG device.log: State update defer 523ms +TIMESTAMP DEBUG device.log: State update defer 523ms +TIMESTAMP DEBUG device.log: State update defer 523ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1571ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1569ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_dependency_mismatch) +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 1562ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP DEBUG blobset.blob.fetch: Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch.success: Successfully fetched blob data for pubber_module +TIMESTAMP NOTICE blobset.blob.apply: Applying blob update... +TIMESTAMP INFO device.log: Triggering mock OTA update to commit v2 +TIMESTAMP INFO device.log: Simulating OTA update delay... +TIMESTAMP NOTICE device.log: Mock OTA update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully applied +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +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:47a6e29e +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_dependency_mismatch) +TIMESTAMP NOTICE blobset.blob.apply: Applying blob update... +TIMESTAMP DEBUG Detail system logs level `NOTICE` category `blobset.blob.apply` is now: null +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 @30s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @30s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module software version reflects update +TIMESTAMP DEBUG stage done waiting for executing test at @30s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_dependency_mismatch PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_dependency_mismatch after @30s ################################ diff --git a/validator/sequences/blob_dependency_mismatch/sequence.md b/validator/sequences/blob_dependency_mismatch/sequence.md new file mode 100644 index 0000000000..a60f102446 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/sequence.md @@ -0,0 +1,11 @@ + +## blob_dependency_mismatch (PREVIEW) + +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 `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module software version reflects update + +Test passed. diff --git a/validator/sequences/blob_dependency_mismatch/state_blobset.attr b/validator/sequences/blob_dependency_mismatch/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_blobset.json b/validator/sequences/blob_dependency_mismatch/state_blobset.json new file mode 100644 index 0000000000..ae3200daab --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_discovery.attr b/validator/sequences/blob_dependency_mismatch/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_discovery.json b/validator/sequences/blob_dependency_mismatch/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_localnet.attr b/validator/sequences/blob_dependency_mismatch/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_localnet.json b/validator/sequences/blob_dependency_mismatch/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_pointset.attr b/validator/sequences/blob_dependency_mismatch/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_pointset.json b/validator/sequences/blob_dependency_mismatch/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_system.attr b/validator/sequences/blob_dependency_mismatch/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_system.json b/validator/sequences/blob_dependency_mismatch/state_system.json new file mode 100644 index 0000000000..c1a3d9cab9 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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-30900", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/state_update.attr b/validator/sequences/blob_dependency_mismatch/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_update.json b/validator/sequences/blob_dependency_mismatch/state_update.json new file mode 100644 index 0000000000..d73b15ac39 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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-30900", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_dependency_mismatch/state_validation.attr b/validator/sequences/blob_dependency_mismatch/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/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_dependency_mismatch/state_validation.json b/validator/sequences/blob_dependency_mismatch/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_dependency_mismatch/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/config_blobset.attr b/validator/sequences/blob_fetch_failure/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/config_blobset.json b/validator/sequences/blob_fetch_failure/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/config_discovery.attr b/validator/sequences/blob_fetch_failure/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/config_discovery.json b/validator/sequences/blob_fetch_failure/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/config_localnet.attr b/validator/sequences/blob_fetch_failure/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/config_localnet.json b/validator/sequences/blob_fetch_failure/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/config_pointset.attr b/validator/sequences/blob_fetch_failure/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/config_pointset.json b/validator/sequences/blob_fetch_failure/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/config_system.attr b/validator/sequences/blob_fetch_failure/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/config_system.json b/validator/sequences/blob_fetch_failure/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/config_update.attr b/validator/sequences/blob_fetch_failure/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/config_update.json b/validator/sequences/blob_fetch_failure/config_update.json new file mode 100644 index 0000000000..bd6c088c4a --- /dev/null +++ b/validator/sequences/blob_fetch_failure/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_fetch_failure" + } + }, + "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_fetch_failure/device_system.log b/validator/sequences/blob_fetch_failure/device_system.log new file mode 100644 index 0000000000..96fa3fbd29 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/device_system.log @@ -0,0 +1,184 @@ +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 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-25496, 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-25496 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1776256328018 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 Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log Ending connection 1776256328018 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 1992ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1836ms +TIMESTAMP DEBUG device.log State update defer 1835ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 1832ms +TIMESTAMP DEBUG device.log State update defer 1831ms +TIMESTAMP DEBUG device.log State update defer 1830ms +TIMESTAMP DEBUG device.log State update defer 1830ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -551ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +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 -4ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1068ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 1994ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1410ms +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_fetch_failure) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 1684ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 1677ms +TIMESTAMP DEBUG device.log State update defer 1676ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 831ms +TIMESTAMP DEBUG device.log State update defer 830ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 827ms +TIMESTAMP DEBUG device.log State update defer 826ms +TIMESTAMP DEBUG device.log State update defer 825ms +TIMESTAMP DEBUG device.log State update defer 825ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 544ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 539ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1399ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1398ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_fetch_failure) +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 1391ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG blobset.blob.fetch Fetching blob data for pubber_module +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: URL encoding not supported: http://localhost:1/bogus +TIMESTAMP ERROR blobset.blob.fetch.failure URL encoding not supported: http://localhost:1/bogus +TIMESTAMP DEBUG device.log State update defer 1996ms +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_fetch_failure) +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_fetch_failure/events_pointset.attr b/validator/sequences/blob_fetch_failure/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/events_pointset.json b/validator/sequences/blob_fetch_failure/events_pointset.json new file mode 100644 index 0000000000..1b8d151fc0 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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" : 8 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/events_system.attr b/validator/sequences/blob_fetch_failure/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/events_system.json b/validator/sequences/blob_fetch_failure/events_system.json new file mode 100644 index 0000000000..9c8f15ce14 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/events_system.json @@ -0,0 +1,64 @@ +{ + "event_no" : 5, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "State update AHU-1 (blob_fetch_failure)", + "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" : "Fetching blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: URL encoding not supported: http://localhost:1/bogus", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "URL encoding not supported: http://localhost:1/bogus", + "detail" : "java.lang.RuntimeException: URL encoding not supported: http://localhost:1/bogus;", + "category" : "blobset.blob.fetch.failure", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1996ms", + "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_fetch_failure)", + "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" : 81.81295776367188 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/local_blobset.json b/validator/sequences/blob_fetch_failure/local_blobset.json new file mode 100644 index 0000000000..1528d684cd --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/local_discovery.json b/validator/sequences/blob_fetch_failure/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_fetch_failure/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/local_localnet.json b/validator/sequences/blob_fetch_failure/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/local_pointset.json b/validator/sequences/blob_fetch_failure/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/local_system.json b/validator/sequences/blob_fetch_failure/local_system.json new file mode 100644 index 0000000000..eb4904d1df --- /dev/null +++ b/validator/sequences/blob_fetch_failure/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_fetch_failure" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_fetch_failure/local_update.json b/validator/sequences/blob_fetch_failure/local_update.json new file mode 100644 index 0000000000..7a682a642b --- /dev/null +++ b/validator/sequences/blob_fetch_failure/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_fetch_failure" + } + }, + "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_fetch_failure/sequence.log b/validator/sequences/blob_fetch_failure/sequence.log new file mode 100644 index 0000000000..ca885717e5 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/sequence.log @@ -0,0 +1,1599 @@ +TIMESTAMP NOTICE Starting test blob_fetch_failure ################################ +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$13(SequenceBase.java:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6096ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:da4f6c.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:da4f6c.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:da4f6c.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:da4f6c.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:da4f6c.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:b3247569 +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" : 8 +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:b3247569 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:24c928a0 +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: 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-25496, 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-25496 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1776256328018 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: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Starting AHU-1 PubberSystemManager sender with delay 10s +TIMESTAMP WARNING device.log: Ending connection 1776256328018 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:24c928a0 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:89a3f3f5 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:89a3f3f5 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a9b57c36 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a9b57c36 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a9b57c36 +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-25496", +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" : "v2" +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-25496 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:da4f6c.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.00000004 +TIMESTAMP +TIMESTAMP RC:da4f6c.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-a9aa0b81-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_fetch_failure" +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:da4f6c.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:da4f6c.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:da4f6c.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:a9b57c36-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-25496", +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" : "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:a9b57c36-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a9b57c36-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:a9b57c36-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a9b57c36-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:a9b57c36-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a9b57c36-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:a9b57c36-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:a9b57c36 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:a9b57c36 +TIMESTAMP +TIMESTAMP MP:a9b57c36 +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:f724700f +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f724700f +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f724700f +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:f724700f-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-25496", +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" : "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:f724700f-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f724700f-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:f724700f-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 1977ms +TIMESTAMP DEBUG Rate-limiting config by 1977ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:da4f6c.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:f724700f-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:f724700f-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f724700f-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:f724700f-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:33295cb5 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:33295cb5 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:33295cb5 +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:da4f6c.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.00000005 +TIMESTAMP +TIMESTAMP RC:da4f6c.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:da4f6c.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:da4f6c.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:da4f6c.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:33295cb5-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-25496", +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" : "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:33295cb5-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:33295cb5-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:33295cb5-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:33295cb5-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:33295cb5-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:33295cb5-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:33295cb5-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:3296c28e +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:3296c28e +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:3296c28e +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:3296c28e-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-25496", +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" : "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:3296c28e-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:da4f6c.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:3296c28e-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:3296c28e-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:3296c28e-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:3296c28e-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:3296c28e-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:3296c28e-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:da4f6c.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP INFO Received device configAcked +TIMESTAMP DEBUG Handling update message state_update RC:da4f6c.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:da4f6c.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:da4f6c.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 952ms +TIMESTAMP DEBUG Rate-limiting config by 952ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:da4f6c.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:da4f6c.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:97d1b6ca +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 system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1836ms +TIMESTAMP DEBUG device.log: State update defer 1835ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 1832ms +TIMESTAMP DEBUG device.log: State update defer 1831ms +TIMESTAMP DEBUG device.log: State update defer 1830ms +TIMESTAMP DEBUG device.log: State update defer 1830ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -551ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +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 -4ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG Handling device message events_system MP:97d1b6ca +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b51d3c7b +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b51d3c7b +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b51d3c7b +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:da4f6c.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.00000007 +TIMESTAMP +TIMESTAMP RC:da4f6c.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:da4f6c.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:da4f6c.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:da4f6c.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:b51d3c7b-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-25496", +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" : "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:b51d3c7b-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b51d3c7b-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:b51d3c7b-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b51d3c7b-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:b51d3c7b-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b51d3c7b-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:b51d3c7b-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:321e4ee7 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:321e4ee7 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:321e4ee7 +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:321e4ee7-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-25496", +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" : "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:321e4ee7-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:321e4ee7-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:321e4ee7-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:321e4ee7-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:321e4ee7-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 1989ms +TIMESTAMP DEBUG Rate-limiting config by 1989ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:da4f6c.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:da4f6c.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:da4f6c.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:da4f6c.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:da4f6c.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:321e4ee7-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:321e4ee7-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:877de2c5 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:877de2c5 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:877de2c5 +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:da4f6c.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.00000008 +TIMESTAMP +TIMESTAMP RC:da4f6c.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:da4f6c.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:da4f6c.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:da4f6c.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:877de2c5-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-25496", +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" : "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:877de2c5-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:877de2c5-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:877de2c5-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:877de2c5-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:877de2c5-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:877de2c5-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:877de2c5-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:da4f6c.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.0000000c +TIMESTAMP +TIMESTAMP RC:da4f6c.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:da4f6c.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:da4f6c.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:da4f6c.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:da4f6c.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.00000009 +TIMESTAMP +TIMESTAMP RC:da4f6c.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:da4f6c.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:da4f6c.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:da4f6c.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:da4f6c.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.0000000a +TIMESTAMP +TIMESTAMP RC:da4f6c.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:da4f6c.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:da4f6c.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:da4f6c.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:e0b1fec1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:e0b1fec1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:e0b1fec1 +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:e0b1fec1-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-25496", +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" : "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:e0b1fec1-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:e0b1fec1-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:e0b1fec1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:e0b1fec1-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:e0b1fec1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:e0b1fec1-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:e0b1fec1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:da4f6c.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:da4f6c.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:da4f6c.0000000b +TIMESTAMP +TIMESTAMP RC:da4f6c.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:da4f6c.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:da4f6c.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:da4f6c.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e17834ea +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1068ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 1994ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1410ms +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_fetch_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 1684ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 1677ms +TIMESTAMP DEBUG device.log: State update defer 1676ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 831ms +TIMESTAMP DEBUG device.log: State update defer 830ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 827ms +TIMESTAMP DEBUG device.log: State update defer 826ms +TIMESTAMP DEBUG device.log: State update defer 825ms +TIMESTAMP DEBUG device.log: State update defer 825ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 544ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 539ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1399ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1398ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 1391ms +TIMESTAMP DEBUG Handling device message events_system MP:e17834ea +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:85541a56 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:85541a56 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:85541a56 +TIMESTAMP INFO Updated state #010: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Detail config update synchronized is now: null +TIMESTAMP DEBUG Stage finished waiting for config update synchronized at @28s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @28s +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 @28s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @28s +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 Recorded sequence: 1. Wait for pubber_module phase transitions +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase transitions at @30s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @30s +TIMESTAMP TRACE Stage suspend waiting for executing test at @30s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @30s +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:85541a56-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-25496", +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" : "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:85541a56-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:85541a56-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:85541a56-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:85541a56-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:85541a56-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:85541a56-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:85541a56-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:85541a56-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:85541a56-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:629470b8 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:629470b8 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:629470b8 +TIMESTAMP INFO Updated state #011: Changed 6 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `system.config.apply` +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.RuntimeException: URL encoding not supported: http://localhost:1/bogus... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @32s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @32s +TIMESTAMP TRACE Stage suspend waiting for executing test at @32s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.fetch.failure` at @32s +TIMESTAMP is 1944ms +TIMESTAMP DEBUG Rate-limiting config by 1944ms +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 +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_fetch_failure) +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 1994ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:629470b8-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-25496", +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" : "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:629470b8-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:629470b8-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:629470b8-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:629470b8-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:629470b8-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:629470b8-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" : "URL encoding not supported: http://localhost:1/bogus", +TIMESTAMP TRACE Received state_blobset: "detail" : "java.lang.RuntimeException: URL encoding not supported: http://localhost:1/bogus\n\tat udmi.lib.client.host.PublisherHost.acquireBlobData(PublisherHost.java:143)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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:629470b8-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:629470b8-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:629470b8-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:81633bb5 +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_fetch_failure) +TIMESTAMP DEBUG blobset.blob.fetch: Fetching blob data for pubber_module +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: URL encoding not supported: http://localhost:1/bogus +TIMESTAMP ERROR blobset.blob.fetch.failure: URL encoding not supported: http://localhost:1/bogus +TIMESTAMP DEBUG device.log: State update defer 1996ms +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_fetch_failure) +TIMESTAMP DEBUG Handling device message events_system MP:81633bb5 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP ERROR blobset.blob.fetch.failure: URL encoding not supported: http://localhost:1/bogus +TIMESTAMP DEBUG Detail system logs level `ERROR` category `blobset.blob.fetch.failure` is now: null +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 4s +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_fetch_failure PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_fetch_failure after @37s ################################ diff --git a/validator/sequences/blob_fetch_failure/sequence.md b/validator/sequences/blob_fetch_failure/sequence.md new file mode 100644 index 0000000000..0a51adcfa2 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/sequence.md @@ -0,0 +1,11 @@ + +## blob_fetch_failure (PREVIEW) + +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 `ERROR` category `blobset.blob.fetch.failure` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_fetch_failure/state_blobset.attr b/validator/sequences/blob_fetch_failure/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_blobset.json b/validator/sequences/blob_fetch_failure/state_blobset.json new file mode 100644 index 0000000000..ba59e7abdf --- /dev/null +++ b/validator/sequences/blob_fetch_failure/state_blobset.json @@ -0,0 +1,17 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "URL encoding not supported: http://localhost:1/bogus", + "detail" : "java.lang.RuntimeException: URL encoding not supported: http://localhost:1/bogus\n\tat udmi.lib.client.host.PublisherHost.acquireBlobData(PublisherHost.java:143)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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_fetch_failure/state_discovery.attr b/validator/sequences/blob_fetch_failure/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_discovery.json b/validator/sequences/blob_fetch_failure/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_localnet.attr b/validator/sequences/blob_fetch_failure/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_localnet.json b/validator/sequences/blob_fetch_failure/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_pointset.attr b/validator/sequences/blob_fetch_failure/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_pointset.json b/validator/sequences/blob_fetch_failure/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_system.attr b/validator/sequences/blob_fetch_failure/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_system.json b/validator/sequences/blob_fetch_failure/state_system.json new file mode 100644 index 0000000000..114a558b24 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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-25496", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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_fetch_failure/state_update.attr b/validator/sequences/blob_fetch_failure/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_update.json b/validator/sequences/blob_fetch_failure/state_update.json new file mode 100644 index 0000000000..ceb80bad9c --- /dev/null +++ b/validator/sequences/blob_fetch_failure/state_update.json @@ -0,0 +1,76 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "URL encoding not supported: http://localhost:1/bogus", + "detail" : "java.lang.RuntimeException: URL encoding not supported: http://localhost:1/bogus\n\tat udmi.lib.client.host.PublisherHost.acquireBlobData(PublisherHost.java:143)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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-25496", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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_fetch_failure/state_validation.attr b/validator/sequences/blob_fetch_failure/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/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_fetch_failure/state_validation.json b/validator/sequences/blob_fetch_failure/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_fetch_failure/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/config_blobset.attr b/validator/sequences/blob_hash_mismatch/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/config_blobset.json b/validator/sequences/blob_hash_mismatch/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/config_discovery.attr b/validator/sequences/blob_hash_mismatch/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/config_discovery.json b/validator/sequences/blob_hash_mismatch/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/config_localnet.attr b/validator/sequences/blob_hash_mismatch/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/config_localnet.json b/validator/sequences/blob_hash_mismatch/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/config_pointset.attr b/validator/sequences/blob_hash_mismatch/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/config_pointset.json b/validator/sequences/blob_hash_mismatch/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/config_system.attr b/validator/sequences/blob_hash_mismatch/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/config_system.json b/validator/sequences/blob_hash_mismatch/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/config_update.attr b/validator/sequences/blob_hash_mismatch/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/config_update.json b/validator/sequences/blob_hash_mismatch/config_update.json new file mode 100644 index 0000000000..cebea2958d --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_hash_mismatch" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "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_hash_mismatch/device_system.log b/validator/sequences/blob_hash_mismatch/device_system.log new file mode 100644 index 0000000000..09511619da --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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: 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-32258, 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-32258 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1776256476694 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 1776256476694 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 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 1857ms +TIMESTAMP DEBUG device.log State update defer 1856ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 1854ms +TIMESTAMP DEBUG device.log State update defer 1853ms +TIMESTAMP DEBUG device.log State update defer 1852ms +TIMESTAMP DEBUG device.log State update defer 1852ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -476ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 1993ms +TIMESTAMP DEBUG device.log State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1060ms +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_hash_mismatch) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 device.log State update defer 1995ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1441ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1735ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 1732ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 814ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 813ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 810ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 589ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 579ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG blobset.blob.fetch Fetching blob data for pubber_module +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Blob data hash mismatch +TIMESTAMP ERROR blobset.blob.verify.hash Blob data hash mismatch +TIMESTAMP DEBUG device.log State update defer 1995ms +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 1464ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_hash_mismatch) +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 1458ms +TIMESTAMP DEBUG device.log State update defer 1457ms +TIMESTAMP DEBUG device.log State update defer 1457ms +TIMESTAMP DEBUG device.log State update defer 1456ms +TIMESTAMP DEBUG device.log State update defer 401ms +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_hash_mismatch/events_pointset.attr b/validator/sequences/blob_hash_mismatch/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/events_pointset.json b/validator/sequences/blob_hash_mismatch/events_pointset.json new file mode 100644 index 0000000000..4a9b6249a3 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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" : 10 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/events_system.attr b/validator/sequences/blob_hash_mismatch/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/events_system.json b/validator/sequences/blob_hash_mismatch/events_system.json new file mode 100644 index 0000000000..af6b96cd2a --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/events_system.json @@ -0,0 +1,452 @@ +{ + "event_no" : 4, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer -1060ms", + "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_hash_mismatch)", + "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_hash_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_hash_mismatch\",\n \"transaction_id\" : \"RC:9a9282.00000007\",\n \"config_base\" : 45\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" : "State update defer 1995ms", + "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_hash_mismatch)", + "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 -1441ms", + "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_hash_mismatch)", + "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_hash_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_hash_mismatch\",\n \"transaction_id\" : \"RC:9a9282.00000008\",\n \"config_base\" : 46\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" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1735ms", + "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_hash_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_hash_mismatch\",\n \"transaction_id\" : \"RC:9a9282.0000000c\",\n \"config_base\" : 47\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 1732ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 814ms", + "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 813ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Config update AHU-1 (blob_hash_mismatch)", + "detail" : "{\n \"timestamp\" : \"TIMESTAMP\"\n },\n \"testing\" : {\n \"sequence_name\" : \"blob_hash_mismatch\",\n \"transaction_id\" : \"RC:9a9282.00000009\",\n \"config_base\" : 48\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 810ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.receive", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 589ms", + "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_hash_mismatch)", + "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 579ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + }, { + "message" : "State update AHU-1 (blob_hash_mismatch)", + "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" : "Fetching blob data for pubber_module", + "category" : "blobset.blob.fetch", + "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.verify.hash", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1995ms", + "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" : "State update defer 1464ms", + "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_hash_mismatch)", + "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" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1458ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1457ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1457ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 1456ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "State update defer 401ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 82.92315673828125 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/local_blobset.json b/validator/sequences/blob_hash_mismatch/local_blobset.json new file mode 100644 index 0000000000..fc3606bcb2 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###0000000000000000000000000000000000000000000000000000000000000000", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/local_discovery.json b/validator/sequences/blob_hash_mismatch/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/local_localnet.json b/validator/sequences/blob_hash_mismatch/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/local_pointset.json b/validator/sequences/blob_hash_mismatch/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/local_system.json b/validator/sequences/blob_hash_mismatch/local_system.json new file mode 100644 index 0000000000..26ca842512 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_hash_mismatch" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_hash_mismatch/local_update.json b/validator/sequences/blob_hash_mismatch/local_update.json new file mode 100644 index 0000000000..fcaeda8004 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_hash_mismatch" + } + }, + "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_hash_mismatch/sequence.log b/validator/sequences/blob_hash_mismatch/sequence.log new file mode 100644 index 0000000000..8c05e33bf9 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/sequence.log @@ -0,0 +1,1434 @@ +TIMESTAMP NOTICE Starting test blob_hash_mismatch ################################ +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$13(SequenceBase.java:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6120ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:9a9282.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:9a9282.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:9a9282.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:9a9282.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:9a9282.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:9d60520f +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" : 10 +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:9d60520f +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:5d0c2e28 +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-32258, 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-32258 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1776256476694 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 1776256476694 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:5d0c2e28 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command null/config/udmi as null +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:fb4ff85a +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:fb4ff85a +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:13518b7f +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:13518b7f +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:13518b7f +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-32258", +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" : "v2" +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-32258 +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:9a9282.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.00000004 +TIMESTAMP +TIMESTAMP RC:9a9282.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-a9aa0b81-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_hash_mismatch" +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:9a9282.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:9a9282.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:9a9282.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:13518b7f-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-32258", +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" : "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:13518b7f-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:13518b7f-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:13518b7f-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:13518b7f-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:13518b7f-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:13518b7f-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:13518b7f-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:13518b7f +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:13518b7f +TIMESTAMP +TIMESTAMP MP:13518b7f +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:6bdde456 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6bdde456 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6bdde456 +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:6bdde456-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-32258", +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" : "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:6bdde456-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 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/discovery as MP:6bdde456-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:6bdde456-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6bdde456-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:6bdde456-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 3s +TIMESTAMP DEBUG Finished wait for config sync pending: null +TIMESTAMP DEBUG Disallowing device state change (everything) +TIMESTAMP is 1455ms +TIMESTAMP DEBUG Rate-limiting config by 1455ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:9a9282.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:6bdde456-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:6bdde456-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:44eeb700 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:44eeb700 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:44eeb700 +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:9a9282.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.00000005 +TIMESTAMP +TIMESTAMP RC:9a9282.00000005 +TIMESTAMP INFO Updated config #003: 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:9a9282.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:9a9282.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:9a9282.00000005 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:44eeb700-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-32258", +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" : "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:44eeb700-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:44eeb700-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:44eeb700-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:44eeb700-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:44eeb700-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:44eeb700-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:44eeb700-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:aa64773d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:aa64773d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:aa64773d +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:9a9282.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:aa64773d-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-32258", +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" : "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:aa64773d-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:aa64773d-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:aa64773d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:aa64773d-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:aa64773d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:aa64773d-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:aa64773d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:9a9282.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP INFO Received device configAcked +TIMESTAMP DEBUG Handling update message state_update RC:9a9282.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:9a9282.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:9a9282.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 951ms +TIMESTAMP DEBUG Rate-limiting config by 951ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:9a9282.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:9a9282.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:52fdce5c +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 system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1857ms +TIMESTAMP DEBUG device.log: State update defer 1856ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 1854ms +TIMESTAMP DEBUG device.log: State update defer 1853ms +TIMESTAMP DEBUG device.log: State update defer 1852ms +TIMESTAMP DEBUG device.log: State update defer 1852ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -476ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 1993ms +TIMESTAMP DEBUG device.log: State update defer -1ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG Handling device message events_system MP:52fdce5c +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:747f57a1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:747f57a1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:747f57a1 +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:9a9282.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.00000007 +TIMESTAMP +TIMESTAMP RC:9a9282.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:9a9282.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:9a9282.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:9a9282.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:747f57a1-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-32258", +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" : "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:747f57a1-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:747f57a1-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:747f57a1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:747f57a1-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:747f57a1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:747f57a1-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:747f57a1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:16dd8713 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:16dd8713 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:16dd8713 +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:16dd8713-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-32258", +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" : "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:16dd8713-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:16dd8713-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:16dd8713-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:16dd8713-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:16dd8713-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 1983ms +TIMESTAMP DEBUG Rate-limiting config by 1983ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:9a9282.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:9a9282.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:9a9282.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:9a9282.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:9a9282.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:16dd8713-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:16dd8713-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:0fa6211c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:0fa6211c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:0fa6211c +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:9a9282.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.00000008 +TIMESTAMP +TIMESTAMP RC:9a9282.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:9a9282.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:9a9282.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:9a9282.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:0fa6211c-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-32258", +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" : "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:0fa6211c-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:0fa6211c-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:0fa6211c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:0fa6211c-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:0fa6211c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:0fa6211c-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:0fa6211c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:9a9282.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.0000000c +TIMESTAMP +TIMESTAMP RC:9a9282.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:9a9282.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:9a9282.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:9a9282.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:9a9282.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.00000009 +TIMESTAMP +TIMESTAMP RC:9a9282.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:9a9282.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:9a9282.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:9a9282.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:9a9282.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.0000000b +TIMESTAMP +TIMESTAMP RC:9a9282.0000000b +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:9a9282.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:9a9282.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:9a9282.0000000b +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:da81d2c5 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:da81d2c5 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:da81d2c5 +TIMESTAMP INFO Updated state #009: Changed 4 fields: +TIMESTAMP` +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:da81d2c5-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-32258", +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" : "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:da81d2c5-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:da81d2c5-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:da81d2c5-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:da81d2c5-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:da81d2c5-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:da81d2c5-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:da81d2c5-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:da81d2c5-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:da81d2c5-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:9a9282.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:9a9282.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:9a9282.0000000a +TIMESTAMP +TIMESTAMP RC:9a9282.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:9a9282.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:9a9282.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:9a9282.0000000a +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:d0250b36 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1060ms +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_hash_mismatch) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1441ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1735ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 1732ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 814ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 813ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 810ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 589ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 579ms +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP DEBUG blobset.blob.fetch: Fetching blob data for pubber_module +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Blob data hash mismatch +TIMESTAMP ERROR blobset.blob.verify.hash: Blob data hash mismatch +TIMESTAMP DEBUG device.log: State update defer 1995ms +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 1464ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 1458ms +TIMESTAMP DEBUG device.log: State update defer 1457ms +TIMESTAMP DEBUG device.log: State update defer 1457ms +TIMESTAMP DEBUG device.log: State update defer 1456ms +TIMESTAMP DEBUG device.log: State update defer 401ms +TIMESTAMP DEBUG Handling device message events_system MP:d0250b36 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:73b6419d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:73b6419d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:73b6419d +TIMESTAMP INFO Updated state #010: Changed 7 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `300` +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$HashMismatchException: Blob data hash mismatch... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:73b6419d-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-32258", +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" : "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:73b6419d-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 1767ms +TIMESTAMP DEBUG Rate-limiting config by 1767ms +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 1971ms +TIMESTAMP DEBUG Rate-limiting config by 1971ms +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 1s +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 `ERROR` category `blobset.blob.verify.hash` 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 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1060ms +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_hash_mismatch) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_hash_mismatch) +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 device.log: State update defer 1995ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_hash_mismatch) +TIMESTAMP ERROR blobset.blob.verify.hash: Blob data hash mismatch +TIMESTAMP ERROR blobset.blob.verify.hash: Blob data hash mismatch +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.verify.hash` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.verify.hash` at @33s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module state indicates error +TIMESTAMP DEBUG stage done waiting for executing test at @33s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_hash_mismatch PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_hash_mismatch after @33s ################################ diff --git a/validator/sequences/blob_hash_mismatch/sequence.md b/validator/sequences/blob_hash_mismatch/sequence.md new file mode 100644 index 0000000000..d810403bb1 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/sequence.md @@ -0,0 +1,11 @@ + +## blob_hash_mismatch (PREVIEW) + +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 `ERROR` category `blobset.blob.verify.hash` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_hash_mismatch/state_blobset.attr b/validator/sequences/blob_hash_mismatch/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_blobset.json b/validator/sequences/blob_hash_mismatch/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_discovery.attr b/validator/sequences/blob_hash_mismatch/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_discovery.json b/validator/sequences/blob_hash_mismatch/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_localnet.attr b/validator/sequences/blob_hash_mismatch/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_localnet.json b/validator/sequences/blob_hash_mismatch/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_pointset.attr b/validator/sequences/blob_hash_mismatch/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_pointset.json b/validator/sequences/blob_hash_mismatch/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_system.attr b/validator/sequences/blob_hash_mismatch/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_system.json b/validator/sequences/blob_hash_mismatch/state_system.json new file mode 100644 index 0000000000..c662d3d021 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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-32258", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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_hash_mismatch/state_update.attr b/validator/sequences/blob_hash_mismatch/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_update.json b/validator/sequences/blob_hash_mismatch/state_update.json new file mode 100644 index 0000000000..19bf961340 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/state_update.json @@ -0,0 +1,76 @@ +{ + "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.client.host.PublisherHost.acquireBlobData(PublisherHost.java:154)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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-32258", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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_hash_mismatch/state_validation.attr b/validator/sequences/blob_hash_mismatch/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/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_hash_mismatch/state_validation.json b/validator/sequences/blob_hash_mismatch/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_hash_mismatch/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/config_blobset.attr b/validator/sequences/blob_incompatible/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/config_blobset.json b/validator/sequences/blob_incompatible/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_incompatible/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/config_discovery.attr b/validator/sequences/blob_incompatible/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/config_discovery.json b/validator/sequences/blob_incompatible/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_incompatible/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/config_localnet.attr b/validator/sequences/blob_incompatible/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/config_localnet.json b/validator/sequences/blob_incompatible/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_incompatible/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/config_pointset.attr b/validator/sequences/blob_incompatible/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_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_incompatible/config_pointset.json b/validator/sequences/blob_incompatible/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_incompatible/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/config_system.attr b/validator/sequences/blob_incompatible/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/config_system.json b/validator/sequences/blob_incompatible/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_incompatible/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/config_update.attr b/validator/sequences/blob_incompatible/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/config_update.json b/validator/sequences/blob_incompatible/config_update.json new file mode 100644 index 0000000000..6b78c17fad --- /dev/null +++ b/validator/sequences/blob_incompatible/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_incompatible" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "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_incompatible/device_system.log b/validator/sequences/blob_incompatible/device_system.log new file mode 100644 index 0000000000..7d3c7989e5 --- /dev/null +++ b/validator/sequences/blob_incompatible/device_system.log @@ -0,0 +1,212 @@ +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-13238, 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-13238 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1776256753183 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 WARNING device.log Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log Ending connection 1776256753183 with 1 +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 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 DEBUG device.log State update defer 1995ms +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG device.log State update defer 1993ms +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1842ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1842ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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 1838ms +TIMESTAMP DEBUG device.log State update defer 1837ms +TIMESTAMP DEBUG device.log State update defer 1837ms +TIMESTAMP DEBUG device.log State update defer 1837ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -482ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1056ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log State update AHU-1 (blob_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 1995ms +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1407ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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 1994ms +TIMESTAMP DEBUG device.log State update defer 1993ms +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1710ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1709ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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 1704ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 798ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 797ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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 793ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 560ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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 554ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1426ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1425ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_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 1417ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG blobset.blob.fetch Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch.success Successfully fetched blob data for pubber_module +TIMESTAMP NOTICE blobset.blob.apply Applying blob update... +TIMESTAMP INFO device.log Triggering mock OTA update to commit v2 +TIMESTAMP INFO device.log Simulating OTA update delay... +TIMESTAMP NOTICE device.log Mock OTA update completed successfully. +TIMESTAMP NOTICE device.log Blob pubber_module successfully applied +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_incompatible) +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 NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_incompatible/events_pointset.attr b/validator/sequences/blob_incompatible/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_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_incompatible/events_pointset.json b/validator/sequences/blob_incompatible/events_pointset.json new file mode 100644 index 0000000000..d286b459f2 --- /dev/null +++ b/validator/sequences/blob_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" : 10 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/events_system.attr b/validator/sequences/blob_incompatible/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/events_system.json b/validator/sequences/blob_incompatible/events_system.json new file mode 100644 index 0000000000..8a8f0164c2 --- /dev/null +++ b/validator/sequences/blob_incompatible/events_system.json @@ -0,0 +1,73 @@ +{ + "event_no" : 5, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "State update AHU-1 (blob_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" : "Fetching blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Successfully fetched blob data for pubber_module", + "category" : "blobset.blob.fetch.success", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Applying blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Triggering mock OTA update to commit v2", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Simulating OTA update delay...", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Mock OTA update completed successfully.", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Blob pubber_module successfully applied", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "State update AHU-1 (blob_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" : "Persisting generation TIMESTAMP for blob name pubber_module", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Updating persistent store:\n{\n \"endpoint\" : {\n \"protocol\" : \"mqtt\",\n \"transport\" : \"ssl\",\n \"hostname\" : \"localhost\",\n \"client_id\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"topic_prefix\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"gatewayId\" : \"AHU-1\",\n \"deviceId\" : \"AHU-1\",\n \"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=\",\n \"algorithm\" : \"RS256\",\n \"auth_provider\" : {\n \"basic\" : {\n \"username\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"password\" : \"38269d11\"\n }\n }\n },\n \"restart_count\" : 1,\n \"applied_blobs\" : {\n \"pubber_module\" : \"TIMESTAMP\"\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 77.41093444824219 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/local_blobset.json b/validator/sequences/blob_incompatible/local_blobset.json new file mode 100644 index 0000000000..fbaa46852e --- /dev/null +++ b/validator/sequences/blob_incompatible/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/local_discovery.json b/validator/sequences/blob_incompatible/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_incompatible/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/local_localnet.json b/validator/sequences/blob_incompatible/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/local_pointset.json b/validator/sequences/blob_incompatible/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/local_system.json b/validator/sequences/blob_incompatible/local_system.json new file mode 100644 index 0000000000..09afa08431 --- /dev/null +++ b/validator/sequences/blob_incompatible/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_incompatible" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/local_update.json b/validator/sequences/blob_incompatible/local_update.json new file mode 100644 index 0000000000..e1af3b077f --- /dev/null +++ b/validator/sequences/blob_incompatible/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_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_incompatible/sequence.log b/validator/sequences/blob_incompatible/sequence.log new file mode 100644 index 0000000000..3dcf410edf --- /dev/null +++ b/validator/sequences/blob_incompatible/sequence.log @@ -0,0 +1,1526 @@ +TIMESTAMP NOTICE Starting test blob_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$13(SequenceBase.java:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6121ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:33ff01.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:33ff01.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:33ff01.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:33ff01.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:33ff01.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:e1a469ee +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" : 10 +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:e1a469ee +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:3de949ed +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-13238, 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-13238 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1776256753183 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 WARNING device.log: Start waiting 10s for config latch for AHU-1 +TIMESTAMP WARNING device.log: Ending connection 1776256753183 with 1 +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 NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:3de949ed +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:dab5468f +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:dab5468f +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:87a0ca32 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:87a0ca32 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:87a0ca32 +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-13238", +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" : "v2" +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-13238 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:33ff01.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.00000004 +TIMESTAMP +TIMESTAMP RC:33ff01.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-a9aa0b81-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_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:33ff01.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:33ff01.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:33ff01.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:87a0ca32-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-13238", +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" : "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:87a0ca32-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:87a0ca32-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:87a0ca32-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:87a0ca32-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:87a0ca32-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:87a0ca32-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:87a0ca32-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:87a0ca32 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:87a0ca32 +TIMESTAMP +TIMESTAMP MP:87a0ca32 +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:13f3a5de +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:13f3a5de +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:13f3a5de +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:13f3a5de-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-13238", +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" : "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:13f3a5de-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:13f3a5de-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:13f3a5de-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 1410ms +TIMESTAMP DEBUG Rate-limiting config by 1410ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:33ff01.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:13f3a5de-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:13f3a5de-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:13f3a5de-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:13f3a5de-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b30e53a1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b30e53a1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b30e53a1 +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:33ff01.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.00000005 +TIMESTAMP +TIMESTAMP RC:33ff01.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:33ff01.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:33ff01.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:33ff01.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:b30e53a1-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-13238", +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" : "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:b30e53a1-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b30e53a1-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:b30e53a1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b30e53a1-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:b30e53a1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b30e53a1-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:b30e53a1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:12344a1d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:12344a1d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:12344a1d +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:12344a1d-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-13238", +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" : "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:12344a1d-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:33ff01.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:12344a1d-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:12344a1d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:12344a1d-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:12344a1d-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:12344a1d-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:12344a1d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:33ff01.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP INFO Received device configAcked +TIMESTAMP DEBUG Handling update message state_update RC:33ff01.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:33ff01.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:33ff01.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 955ms +TIMESTAMP DEBUG Rate-limiting config by 955ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:33ff01.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:33ff01.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e43e4d28 +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 device.log: State update defer 1995ms +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer 1993ms +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1842ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1842ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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 1838ms +TIMESTAMP DEBUG device.log: State update defer 1837ms +TIMESTAMP DEBUG device.log: State update defer 1837ms +TIMESTAMP DEBUG device.log: State update defer 1837ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -482ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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_incompatible) +TIMESTAMP DEBUG Handling device message events_system MP:e43e4d28 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ba6097c2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ba6097c2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ba6097c2 +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:33ff01.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.00000007 +TIMESTAMP +TIMESTAMP RC:33ff01.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:33ff01.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:33ff01.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:33ff01.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:ba6097c2-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-13238", +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" : "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:ba6097c2-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ba6097c2-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:ba6097c2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ba6097c2-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:ba6097c2-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ba6097c2-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:ba6097c2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:dcb36f7d +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:dcb36f7d +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:dcb36f7d +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:dcb36f7d-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-13238", +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" : "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:dcb36f7d-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:dcb36f7d-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:dcb36f7d-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:dcb36f7d-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:dcb36f7d-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 adaptive blob update for blob key pubber_module +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:33ff01.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:33ff01.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:33ff01.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:33ff01.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:33ff01.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:dcb36f7d-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:dcb36f7d-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6eb83427 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6eb83427 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6eb83427 +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:33ff01.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.00000008 +TIMESTAMP +TIMESTAMP RC:33ff01.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:33ff01.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:33ff01.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:33ff01.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:6eb83427-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-13238", +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" : "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:6eb83427-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:6eb83427-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:6eb83427-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6eb83427-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:6eb83427-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6eb83427-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:6eb83427-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:33ff01.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.0000000c +TIMESTAMP +TIMESTAMP RC:33ff01.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:33ff01.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:33ff01.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:33ff01.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:33ff01.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.00000009 +TIMESTAMP +TIMESTAMP RC:33ff01.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:33ff01.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:33ff01.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:33ff01.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:33ff01.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.0000000a +TIMESTAMP +TIMESTAMP RC:33ff01.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:33ff01.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:33ff01.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:33ff01.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:63f98bc4 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:63f98bc4 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:63f98bc4 +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:63f98bc4-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-13238", +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" : "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:63f98bc4-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:63f98bc4-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:63f98bc4-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:63f98bc4-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:63f98bc4-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:63f98bc4-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:63f98bc4-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:33ff01.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:33ff01.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:33ff01.0000000b +TIMESTAMP +TIMESTAMP RC:33ff01.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:33ff01.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:33ff01.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:33ff01.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:2c146ae2 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1056ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_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 1995ms +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1407ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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 1994ms +TIMESTAMP DEBUG device.log: State update defer 1993ms +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1710ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1709ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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 1704ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 798ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 797ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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 793ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 560ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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 554ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1426ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1425ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_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 1417ms +TIMESTAMP DEBUG Handling device message events_system MP:2c146ae2 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a7d2e35b +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a7d2e35b +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a7d2e35b +TIMESTAMP INFO Updated state #010: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.parse` +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 1705ms +TIMESTAMP DEBUG Rate-limiting config by 1705ms +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:a7d2e35b-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-13238", +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" : "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:a7d2e35b-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a7d2e35b-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:a7d2e35b-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:a7d2e35b-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:a7d2e35b-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:a7d2e35b-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:a7d2e35b-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a7d2e35b-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:a7d2e35b-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f792f015 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f792f015 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f792f015 +TIMESTAMP INFO Updated state #011: Changed 2 fields: +TIMESTAMP INFO Updated state #011: 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 `NOTICE` category `blobset.blob.apply` at @31s +TIMESTAMP is 1965ms +TIMESTAMP DEBUG Rate-limiting config by 1965ms +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 -1056ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_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 1995ms +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:d4a47899 +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +TIMESTAMP DEBUG blobset.blob.fetch: Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch.success: Successfully fetched blob data for pubber_module +TIMESTAMP NOTICE blobset.blob.apply: Applying blob update... +TIMESTAMP INFO device.log: Triggering mock OTA update to commit v2 +TIMESTAMP INFO device.log: Simulating OTA update delay... +TIMESTAMP NOTICE device.log: Mock OTA update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully applied +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_incompatible) +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:d4a47899 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP NOTICE blobset.blob.apply: Applying blob update... +TIMESTAMP DEBUG Detail system logs level `NOTICE` category `blobset.blob.apply` is now: null +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 @33s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @33s +TIMESTAMP DEBUG Recorded sequence: 1. Check that pubber_module software version reflects update +TIMESTAMP DEBUG stage done waiting for executing test at @33s +TIMESTAMP DEBUG Removing implicit system capability LAST_CONFIG +TIMESTAMP NOTICE RESULT pass system.software.updates blob_incompatible PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_incompatible after @33s ################################ diff --git a/validator/sequences/blob_incompatible/sequence.md b/validator/sequences/blob_incompatible/sequence.md new file mode 100644 index 0000000000..ffe676ca55 --- /dev/null +++ b/validator/sequences/blob_incompatible/sequence.md @@ -0,0 +1,11 @@ + +## blob_incompatible (PREVIEW) + +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 `NOTICE` category `blobset.blob.apply` +1. Check that pubber_module software version reflects update + +Test passed. diff --git a/validator/sequences/blob_incompatible/state_blobset.attr b/validator/sequences/blob_incompatible/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_blobset.json b/validator/sequences/blob_incompatible/state_blobset.json new file mode 100644 index 0000000000..3c30f1ba1d --- /dev/null +++ b/validator/sequences/blob_incompatible/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_incompatible/state_discovery.attr b/validator/sequences/blob_incompatible/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_discovery.json b/validator/sequences/blob_incompatible/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_localnet.attr b/validator/sequences/blob_incompatible/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_localnet.json b/validator/sequences/blob_incompatible/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_pointset.attr b/validator/sequences/blob_incompatible/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_pointset.json b/validator/sequences/blob_incompatible/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_system.attr b/validator/sequences/blob_incompatible/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_system.json b/validator/sequences/blob_incompatible/state_system.json new file mode 100644 index 0000000000..630b5d5794 --- /dev/null +++ b/validator/sequences/blob_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-13238", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/state_update.attr b/validator/sequences/blob_incompatible/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_update.json b/validator/sequences/blob_incompatible/state_update.json new file mode 100644 index 0000000000..9f695229f8 --- /dev/null +++ b/validator/sequences/blob_incompatible/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-13238", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_incompatible/state_validation.attr b/validator/sequences/blob_incompatible/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_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_incompatible/state_validation.json b/validator/sequences/blob_incompatible/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_incompatible/state_validation.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/config_blobset.attr b/validator/sequences/blob_parse_failure/config_blobset.attr new file mode 100644 index 0000000000..7305c8cce1 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/config_blobset.json b/validator/sequences/blob_parse_failure/config_blobset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_parse_failure/config_blobset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/config_discovery.attr b/validator/sequences/blob_parse_failure/config_discovery.attr new file mode 100644 index 0000000000..569b2df142 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/config_discovery.json b/validator/sequences/blob_parse_failure/config_discovery.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_parse_failure/config_discovery.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/config_localnet.attr b/validator/sequences/blob_parse_failure/config_localnet.attr new file mode 100644 index 0000000000..ee6a268744 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/config_localnet.json b/validator/sequences/blob_parse_failure/config_localnet.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_parse_failure/config_localnet.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/config_pointset.attr b/validator/sequences/blob_parse_failure/config_pointset.attr new file mode 100644 index 0000000000..934aab868e --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/config_pointset.json b/validator/sequences/blob_parse_failure/config_pointset.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_parse_failure/config_pointset.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/config_system.attr b/validator/sequences/blob_parse_failure/config_system.attr new file mode 100644 index 0000000000..3426a794e5 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/config_system.json b/validator/sequences/blob_parse_failure/config_system.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_parse_failure/config_system.json @@ -0,0 +1,3 @@ +{ + "operation" : "REPLY" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/config_update.attr b/validator/sequences/blob_parse_failure/config_update.attr new file mode 100644 index 0000000000..6990e5f4c7 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/config_update.json b/validator/sequences/blob_parse_failure/config_update.json new file mode 100644 index 0000000000..a029d93565 --- /dev/null +++ b/validator/sequences/blob_parse_failure/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_parse_failure" + } + }, + "discovery" : { + "families" : { + "vendor" : { }, + "bacnet" : { } + } + }, + "localnet" : { + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } + }, + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,malformed_non_base64!", + "sha256" : "@@@blob data hash###e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "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_parse_failure/device_system.log b/validator/sequences/blob_parse_failure/device_system.log new file mode 100644 index 0000000000..5b0d4f6455 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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 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-1136, 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-1136 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1776256403732 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 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 Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log Ending connection 1776256403732 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 1993ms +TIMESTAMP DEBUG device.log State update defer 1993ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1832ms +TIMESTAMP DEBUG device.log State update defer 1831ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 1827ms +TIMESTAMP DEBUG device.log State update defer 1826ms +TIMESTAMP DEBUG device.log State update defer 1826ms +TIMESTAMP DEBUG device.log State update defer 1826ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -572ms +TIMESTAMP +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 1991ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer -1046ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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_parse_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer -1362ms +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_parse_failure) +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1681ms +TIMESTAMP DEBUG device.log State update defer 1680ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 1678ms +TIMESTAMP DEBUG device.log State update defer 1677ms +TIMESTAMP DEBUG device.log State update defer 1676ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 813ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 808ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 534ms +TIMESTAMP DEBUG device.log State update defer 533ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 530ms +TIMESTAMP DEBUG device.log State update defer 529ms +TIMESTAMP DEBUG device.log State update defer 529ms +TIMESTAMP DEBUG device.log State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1384ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1383ms +TIMESTAMP DEBUG device.log Config update AHU-1 (blob_parse_failure) +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 1376ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG blobset.blob.fetch Fetching blob data for pubber_module +TIMESTAMP ERROR device.log Failed to apply blob pubber_module: Failed to decode base64 payload +TIMESTAMP ERROR blobset.blob.verify.parse Failed to decode base64 payload +TIMESTAMP DEBUG device.log State update defer 1994ms +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_parse_failure) +TIMESTAMP NOTICE validation.feature.sequence Sequence complete diff --git a/validator/sequences/blob_parse_failure/events_pointset.attr b/validator/sequences/blob_parse_failure/events_pointset.attr new file mode 100644 index 0000000000..8ccded75fa --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/events_pointset.json b/validator/sequences/blob_parse_failure/events_pointset.json new file mode 100644 index 0000000000..6479d92447 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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" : 12 + } + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/events_system.attr b/validator/sequences/blob_parse_failure/events_system.attr new file mode 100644 index 0000000000..0263ddbd34 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/events_system.json b/validator/sequences/blob_parse_failure/events_system.json new file mode 100644 index 0000000000..85771ab923 --- /dev/null +++ b/validator/sequences/blob_parse_failure/events_system.json @@ -0,0 +1,64 @@ +{ + "event_no" : 5, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "message" : "State update AHU-1 (blob_parse_failure)", + "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" : "Fetching blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Failed to apply blob pubber_module: Failed to decode base64 payload", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "Failed to decode base64 payload", + "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to decode base64 payload;", + "category" : "blobset.blob.verify.parse", + "timestamp" : "TIMESTAMP", + "level" : 500 + }, { + "message" : "State update defer 1994ms", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "success", + "category" : "system.config.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "State update defer 1993ms", + "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_parse_failure)", + "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" : 80.03834533691406 + }, + "timestamp" : "TIMESTAMP", + "version" : "1.5.3" +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/local_blobset.json b/validator/sequences/blob_parse_failure/local_blobset.json new file mode 100644 index 0000000000..1ddfb8df4a --- /dev/null +++ b/validator/sequences/blob_parse_failure/local_blobset.json @@ -0,0 +1,10 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "url" : "@@@software data###data:application/json;base64,malformed_non_base64!", + "sha256" : "@@@blob data hash###e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "generation" : "TIMESTAMP" + } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/local_discovery.json b/validator/sequences/blob_parse_failure/local_discovery.json new file mode 100644 index 0000000000..9c2dd36cff --- /dev/null +++ b/validator/sequences/blob_parse_failure/local_discovery.json @@ -0,0 +1,6 @@ +{ + "families" : { + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/local_localnet.json b/validator/sequences/blob_parse_failure/local_localnet.json new file mode 100644 index 0000000000..4b6e825e32 --- /dev/null +++ b/validator/sequences/blob_parse_failure/local_localnet.json @@ -0,0 +1,8 @@ +{ + "families" : { + "ether" : { }, + "ipv4" : { }, + "vendor" : { }, + "bacnet" : { } + } +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/local_pointset.json b/validator/sequences/blob_parse_failure/local_pointset.json new file mode 100644 index 0000000000..d1bb5731e9 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/local_system.json b/validator/sequences/blob_parse_failure/local_system.json new file mode 100644 index 0000000000..620543e9e0 --- /dev/null +++ b/validator/sequences/blob_parse_failure/local_system.json @@ -0,0 +1,10 @@ +{ + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_parse_failure" + } +} \ No newline at end of file diff --git a/validator/sequences/blob_parse_failure/local_update.json b/validator/sequences/blob_parse_failure/local_update.json new file mode 100644 index 0000000000..47f926911b --- /dev/null +++ b/validator/sequences/blob_parse_failure/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-dirty", + "system" : { + "min_loglevel" : 100, + "metrics_rate_sec" : 10, + "operation" : { + "last_start" : "TIMESTAMP" + }, + "testing" : { + "sequence_name" : "blob_parse_failure" + } + }, + "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_parse_failure/sequence.log b/validator/sequences/blob_parse_failure/sequence.log new file mode 100644 index 0000000000..9c60f21590 --- /dev/null +++ b/validator/sequences/blob_parse_failure/sequence.log @@ -0,0 +1,1598 @@ +TIMESTAMP NOTICE Starting test blob_parse_failure ################################ +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$13(SequenceBase.java:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6102ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:a5bdfd.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:a5bdfd.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:a5bdfd.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:a5bdfd.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:a5bdfd.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:cfd2d14b +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" : 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:cfd2d14b +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:ca671808 +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-1136, 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-1136 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1776256403732 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 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: Starting AHU-1 PubberPointsetManager sender with delay 300s +TIMESTAMP WARNING device.log: Ending connection 1776256403732 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:ca671808 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:f1673398 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:f1673398 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f96be5cd +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f96be5cd +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f96be5cd +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-1136", +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" : "v2" +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-1136 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:a5bdfd.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.00000004 +TIMESTAMP +TIMESTAMP RC:a5bdfd.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-a9aa0b81-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_parse_failure" +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:a5bdfd.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:a5bdfd.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:a5bdfd.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:f96be5cd-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-1136", +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" : "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:f96be5cd-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f96be5cd-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:f96be5cd-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f96be5cd-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:f96be5cd-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f96be5cd-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:f96be5cd-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:f96be5cd +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:f96be5cd +TIMESTAMP +TIMESTAMP MP:f96be5cd +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:22ea5798 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:22ea5798 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:22ea5798 +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:22ea5798-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-1136", +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" : "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:22ea5798-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:22ea5798-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:22ea5798-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 1982ms +TIMESTAMP DEBUG Rate-limiting config by 1982ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:a5bdfd.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:22ea5798-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:22ea5798-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:22ea5798-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:22ea5798-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d5649b41 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d5649b41 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d5649b41 +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:a5bdfd.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.00000005 +TIMESTAMP +TIMESTAMP RC:a5bdfd.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:a5bdfd.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:a5bdfd.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:a5bdfd.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:d5649b41-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-1136", +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" : "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:d5649b41-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d5649b41-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:d5649b41-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d5649b41-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:d5649b41-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d5649b41-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:d5649b41-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f7b8fc04 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f7b8fc04 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f7b8fc04 +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:f7b8fc04-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-1136", +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" : "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:f7b8fc04-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:a5bdfd.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:f7b8fc04-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:f7b8fc04-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f7b8fc04-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:f7b8fc04-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f7b8fc04-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:f7b8fc04-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:a5bdfd.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP INFO Received device configAcked +TIMESTAMP DEBUG Handling update message state_update RC:a5bdfd.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:a5bdfd.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:a5bdfd.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 938ms +TIMESTAMP DEBUG Rate-limiting config by 938ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:a5bdfd.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:a5bdfd.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:4339fc2c +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 1993ms +TIMESTAMP DEBUG device.log: State update defer 1993ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1832ms +TIMESTAMP DEBUG device.log: State update defer 1831ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 1827ms +TIMESTAMP DEBUG device.log: State update defer 1826ms +TIMESTAMP DEBUG device.log: State update defer 1826ms +TIMESTAMP DEBUG device.log: State update defer 1826ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -572ms +TIMESTAMP +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 1991ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG Handling device message events_system MP:4339fc2c +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:ec5070c4 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:ec5070c4 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:ec5070c4 +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:a5bdfd.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.00000007 +TIMESTAMP +TIMESTAMP RC:a5bdfd.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:a5bdfd.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:a5bdfd.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:a5bdfd.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:ec5070c4-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-1136", +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" : "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:ec5070c4-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:ec5070c4-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:ec5070c4-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:ec5070c4-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:ec5070c4-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:ec5070c4-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:ec5070c4-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:a4ab2737 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:a4ab2737 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:a4ab2737 +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 null/config/udmi as null +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:a4ab2737-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-1136", +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" : "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:a4ab2737-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:a4ab2737-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:a4ab2737-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 1989ms +TIMESTAMP DEBUG Rate-limiting config by 1989ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:a5bdfd.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:a5bdfd.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:a5bdfd.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:a5bdfd.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:a5bdfd.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/localnet as MP:a4ab2737-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:a4ab2737-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:a4ab2737-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:a4ab2737-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:0b3ceaf3 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:0b3ceaf3 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:0b3ceaf3 +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:a5bdfd.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.00000008 +TIMESTAMP +TIMESTAMP RC:a5bdfd.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:a5bdfd.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:a5bdfd.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:a5bdfd.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:0b3ceaf3-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-1136", +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" : "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:0b3ceaf3-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:0b3ceaf3-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:0b3ceaf3-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:0b3ceaf3-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:0b3ceaf3-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:0b3ceaf3-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:0b3ceaf3-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:a5bdfd.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.0000000c +TIMESTAMP +TIMESTAMP RC:a5bdfd.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:a5bdfd.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:a5bdfd.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:a5bdfd.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:a5bdfd.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.00000009 +TIMESTAMP +TIMESTAMP RC:a5bdfd.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:a5bdfd.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:a5bdfd.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:a5bdfd.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:a5bdfd.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.0000000a +TIMESTAMP +TIMESTAMP RC:a5bdfd.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:a5bdfd.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:a5bdfd.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:a5bdfd.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:6e5c4aa1 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:6e5c4aa1 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:6e5c4aa1 +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:6e5c4aa1-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-1136", +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" : "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:6e5c4aa1-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:6e5c4aa1-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:6e5c4aa1-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:6e5c4aa1-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:6e5c4aa1-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:6e5c4aa1-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:6e5c4aa1-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:a5bdfd.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:a5bdfd.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:a5bdfd.0000000b +TIMESTAMP +TIMESTAMP RC:a5bdfd.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:a5bdfd.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:a5bdfd.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:a5bdfd.0000000b +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:323b3768 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1046ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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_parse_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer -1362ms +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_parse_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1681ms +TIMESTAMP DEBUG device.log: State update defer 1680ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 1678ms +TIMESTAMP DEBUG device.log: State update defer 1677ms +TIMESTAMP DEBUG device.log: State update defer 1676ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 813ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 808ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 534ms +TIMESTAMP DEBUG device.log: State update defer 533ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 530ms +TIMESTAMP DEBUG device.log: State update defer 529ms +TIMESTAMP DEBUG device.log: State update defer 529ms +TIMESTAMP DEBUG device.log: State update defer 0ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 1384ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1383ms +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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 1376ms +TIMESTAMP DEBUG Handling device message events_system MP:323b3768 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:5086adb2 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:5086adb2 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:5086adb2 +TIMESTAMP INFO Updated state #010: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.parse` +TIMESTAMP` +TIMESTAMP` } } } +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:5086adb2-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-1136", +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" : "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:5086adb2-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 @28s after 5s +TIMESTAMP TRACE Stage resume waiting for executing test at @28s +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 @28s +TIMESTAMP INFO Stage start waiting for pubber_module phase transitions at @28s +TIMESTAMP is 1746ms +TIMESTAMP DEBUG Rate-limiting config by 1746ms +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 @30s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @30s +TIMESTAMP TRACE Stage suspend waiting for executing test at @30s +TIMESTAMP INFO Stage start waiting for pubber_module phase is FINAL at @30s +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/discovery as MP:5086adb2-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:5086adb2-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:5086adb2-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:5086adb2-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:5086adb2-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:5086adb2-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:5086adb2-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:5086adb2-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:b9f57384 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:b9f57384 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:b9f57384 +TIMESTAMP INFO Updated state #011: Changed 6 fields: +TIMESTAMP INFO Updated state #011: Set `system.status.level` = `300` +TIMESTAMP INFO Updated state #011: Set `system.status.category` = `system.config.apply` +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 decode base64 payload... +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @32s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @32s +TIMESTAMP TRACE Stage suspend waiting for executing test at @32s +TIMESTAMP INFO Stage start waiting for system logs level `ERROR` category `blobset.blob.verify.parse` at @32s +TIMESTAMP is 1947ms +TIMESTAMP DEBUG Rate-limiting config by 1947ms +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 -1046ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG device.log: Config update AHU-1 (blob_parse_failure) +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_parse_failure) +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:b9f57384-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-1136", +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" : "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:b9f57384-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:b9f57384-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:b9f57384-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:b9f57384-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:b9f57384-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:b9f57384-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" : "Failed to decode base64 payload", +TIMESTAMP TRACE Received state_blobset: "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to decode base64 payload\n\tat udmi.lib.client.host.PublisherHost.acquireBlobData(PublisherHost.java:149)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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:b9f57384-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:b9f57384-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:b9f57384-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:e72704f5 +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_parse_failure) +TIMESTAMP DEBUG blobset.blob.fetch: Fetching blob data for pubber_module +TIMESTAMP ERROR device.log: Failed to apply blob pubber_module: Failed to decode base64 payload +TIMESTAMP ERROR blobset.blob.verify.parse: Failed to decode base64 payload +TIMESTAMP DEBUG device.log: State update defer 1994ms +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_parse_failure) +TIMESTAMP DEBUG Handling device message events_system MP:e72704f5 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP ERROR blobset.blob.verify.parse: Failed to decode base64 payload +TIMESTAMP DEBUG Detail system logs level `ERROR` category `blobset.blob.verify.parse` is now: null +TIMESTAMP DEBUG Recorded sequence: 1. Wait until system logs level `ERROR` category `blobset.blob.verify.parse` +TIMESTAMP DEBUG Stage finished waiting for system logs level `ERROR` category `blobset.blob.verify.parse` at @37s after 4s +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_parse_failure PREVIEW 10/10 Sequence complete +TIMESTAMP NOTICE Sequence complete +TIMESTAMP NOTICE Ending test blob_parse_failure after @37s ################################ diff --git a/validator/sequences/blob_parse_failure/sequence.md b/validator/sequences/blob_parse_failure/sequence.md new file mode 100644 index 0000000000..f580daf059 --- /dev/null +++ b/validator/sequences/blob_parse_failure/sequence.md @@ -0,0 +1,11 @@ + +## blob_parse_failure (PREVIEW) + +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 `ERROR` category `blobset.blob.verify.parse` +1. Check that pubber_module state indicates error + +Test passed. diff --git a/validator/sequences/blob_parse_failure/state_blobset.attr b/validator/sequences/blob_parse_failure/state_blobset.attr new file mode 100644 index 0000000000..e2a4e394d7 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_blobset.json b/validator/sequences/blob_parse_failure/state_blobset.json new file mode 100644 index 0000000000..d888f30c3c --- /dev/null +++ b/validator/sequences/blob_parse_failure/state_blobset.json @@ -0,0 +1,17 @@ +{ + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Failed to decode base64 payload", + "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to decode base64 payload\n\tat udmi.lib.client.host.PublisherHost.acquireBlobData(PublisherHost.java:149)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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_parse_failure/state_discovery.attr b/validator/sequences/blob_parse_failure/state_discovery.attr new file mode 100644 index 0000000000..f16e42693d --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_discovery.json b/validator/sequences/blob_parse_failure/state_discovery.json new file mode 100644 index 0000000000..03510b9d7c --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_localnet.attr b/validator/sequences/blob_parse_failure/state_localnet.attr new file mode 100644 index 0000000000..13973d809a --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_localnet.json b/validator/sequences/blob_parse_failure/state_localnet.json new file mode 100644 index 0000000000..f58bb2de5b --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_pointset.attr b/validator/sequences/blob_parse_failure/state_pointset.attr new file mode 100644 index 0000000000..0d00c71c97 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_pointset.json b/validator/sequences/blob_parse_failure/state_pointset.json new file mode 100644 index 0000000000..642744656c --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_system.attr b/validator/sequences/blob_parse_failure/state_system.attr new file mode 100644 index 0000000000..14f9483862 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_system.json b/validator/sequences/blob_parse_failure/state_system.json new file mode 100644 index 0000000000..2b3edaa5a9 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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-1136", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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_parse_failure/state_update.attr b/validator/sequences/blob_parse_failure/state_update.attr new file mode 100644 index 0000000000..cb34f853da --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_update.json b/validator/sequences/blob_parse_failure/state_update.json new file mode 100644 index 0000000000..cc9239ed3b --- /dev/null +++ b/validator/sequences/blob_parse_failure/state_update.json @@ -0,0 +1,76 @@ +{ + "blobset" : { + "blobs" : { + "pubber_module" : { + "phase" : "final", + "status" : { + "message" : "Failed to decode base64 payload", + "detail" : "udmi.lib.base.UdmiException$BlobParseException: Failed to decode base64 payload\n\tat udmi.lib.client.host.PublisherHost.acquireBlobData(PublisherHost.java:149)\n\tat udmi.lib.client.host.PublisherHost.extractConfigBlob(PublisherHost.java:188)\n\tat udmi.lib.client.host.PublisherHost.processBlob(PublisherHost.java:230)\n\tat udmi.lib.client.host.PublisherHost.processBlobset(PublisherHost.java:206)\n\tat udmi.lib.client.host.PublisherHost.processConfigUpdate(PublisherHost.java:647)\n\tat udmi.lib.client.host.PublisherHost.configHandler(PublisherHost.java:592)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrivedCore(MqttPublisher.java:789)\n\tat udmi.lib.base.MqttPublisher$MqttCallbackHandler.messageArrived(MqttPublisher.java:754)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:519)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417)\n\tat org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\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-1136", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "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_parse_failure/state_validation.attr b/validator/sequences/blob_parse_failure/state_validation.attr new file mode 100644 index 0000000000..a7d02d31e6 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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_parse_failure/state_validation.json b/validator/sequences/blob_parse_failure/state_validation.json new file mode 100644 index 0000000000..4930737629 --- /dev/null +++ b/validator/sequences/blob_parse_failure/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..066c0671e2 --- /dev/null +++ b/validator/sequences/blob_update_success/config_update.json @@ -0,0 +1,55 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-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,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "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..db7d664d90 --- /dev/null +++ b/validator/sequences/blob_update_success/device_system.log @@ -0,0 +1,212 @@ +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-28241, 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-28241 +TIMESTAMP INFO device.log Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log Starting connection 1776256255729 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 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 1776256255729 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 1996ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 1847ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 1846ms +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 1839ms +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 INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer -515ms +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 1993ms +TIMESTAMP DEBUG device.log State update defer 1992ms +TIMESTAMP DEBUG device.log State update defer 1989ms +TIMESTAMP DEBUG device.log State update defer 1988ms +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 -1093ms +TIMESTAMP INFO device.log Device AHU-1 config handler +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 1995ms +TIMESTAMP DEBUG device.log State update defer 1994ms +TIMESTAMP DEBUG device.log State update defer -2ms +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 -1373ms +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_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 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 1697ms +TIMESTAMP DEBUG device.log State update defer 1696ms +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 1693ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG device.log State update defer 825ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 823ms +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 device.log State update defer 819ms +TIMESTAMP NOTICE system.config.apply success +TIMESTAMP DEBUG device.log State update defer 818ms +TIMESTAMP DEBUG device.log State update defer 818ms +TIMESTAMP DEBUG device.log State update defer 818ms +TIMESTAMP DEBUG system.config.receive success +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP DEBUG device.log State update defer 554ms +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 553ms +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 550ms +TIMESTAMP DEBUG device.log State update defer 549ms +TIMESTAMP DEBUG device.log State update defer 548ms +TIMESTAMP DEBUG device.log State update defer 548ms +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 1389ms +TIMESTAMP DEBUG system.config.parse success +TIMESTAMP INFO device.log Device AHU-1 config handler +TIMESTAMP DEBUG device.log State update defer 1387ms +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 1381ms +TIMESTAMP DEBUG device.log State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG blobset.blob.fetch Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch.success Successfully fetched blob data for pubber_module +TIMESTAMP NOTICE blobset.blob.apply Applying blob update... +TIMESTAMP INFO device.log Triggering mock OTA update to commit v2 +TIMESTAMP INFO device.log Simulating OTA update delay... +TIMESTAMP NOTICE device.log Mock OTA update completed successfully. +TIMESTAMP NOTICE device.log Blob pubber_module successfully applied +TIMESTAMP +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 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..328425c980 --- /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" : 9 + } + }, + "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..177f08c587 --- /dev/null +++ b/validator/sequences/blob_update_success/events_system.json @@ -0,0 +1,73 @@ +{ + "event_no" : 5, + "last_config" : "TIMESTAMP", + "logentries" : [ { + "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" : "Fetching blob data for pubber_module", + "category" : "blobset.blob.fetch", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Successfully fetched blob data for pubber_module", + "category" : "blobset.blob.fetch.success", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, { + "message" : "Applying blob update...", + "category" : "blobset.blob.apply", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Triggering mock OTA update to commit v2", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Simulating OTA update delay...", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "message" : "Mock OTA update completed successfully.", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Blob pubber_module successfully applied", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Update state TIMESTAMP", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 200 + }, { + "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" : "Persisting generation TIMESTAMP for blob name pubber_module", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 300 + }, { + "message" : "Updating persistent store:\n{\n \"endpoint\" : {\n \"protocol\" : \"mqtt\",\n \"transport\" : \"ssl\",\n \"hostname\" : \"localhost\",\n \"client_id\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"topic_prefix\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"gatewayId\" : \"AHU-1\",\n \"deviceId\" : \"AHU-1\",\n \"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=\",\n \"algorithm\" : \"RS256\",\n \"auth_provider\" : {\n \"basic\" : {\n \"username\" : \"/r/ZZ-TRI-FECTA/d/AHU-1\",\n \"password\" : \"38269d11\"\n }\n }\n },\n \"restart_count\" : 1,\n \"applied_blobs\" : {\n \"pubber_module\" : \"TIMESTAMP\"\n }\n}", + "category" : "device.log", + "timestamp" : "TIMESTAMP", + "level" : 400 + } ], + "metrics" : { + "mem_total_mb" : 112.0, + "mem_free_mb" : 77.80084228515625 + }, + "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..fbaa46852e --- /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,djI=", + "sha256" : "@@@blob data hash###fb04dcb6970e4c3d1873de51fd5a50d7bb46b3383113602665c350ec40b5f990", + "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..88aceaca60 --- /dev/null +++ b/validator/sequences/blob_update_success/local_update.json @@ -0,0 +1,45 @@ +{ + "timestamp" : "TIMESTAMP", + "version" : "@@@cloud udmi version###git-a9aa0b81-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..f575685c87 --- /dev/null +++ b/validator/sequences/blob_update_success/sequence.log @@ -0,0 +1,1526 @@ +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: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$13(SequenceBase.java:791) +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:791) +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:791) +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:1407) +TIMESTAMP is -6091ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:83ad84.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +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:83ad84.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:83ad84.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/validation as RC:83ad84.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:83ad84.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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/pointset as MP:0d201e79 +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:0d201e79 +TIMESTAMP DEBUG Capturing AHU-1 message events_pointset +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:079a1ccf +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-28241, 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-28241 +TIMESTAMP INFO device.log: Isolated JGit repo initialized successfully. +TIMESTAMP WARNING device.log: Starting connection 1776256255729 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: 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 1776256255729 with 1 +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG Handling device message events_system MP:079a1ccf +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:c6a06382 +TIMESTAMP DEBUG Received events_system (no logs) +TIMESTAMP DEBUG Handling device message events_system MP:c6a06382 +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$105(SequenceBase.java:2257) +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:2261) +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$109(SequenceBase.java:2268) +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:56533a52 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:56533a52 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:56533a52 +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-28241", +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" : "v2" +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-28241 +TIMESTAMP (expecting null) +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:83ad84.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.00000004 +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.00000004 +TIMESTAMP +TIMESTAMP RC:83ad84.00000004 +TIMESTAMP INFO Updated config #001: { +TIMESTAMP", +TIMESTAMP INFO Updated config #001: "version" : "@@@cloud udmi version###git-a9aa0b81-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 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:83ad84.00000004 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:83ad84.00000004 +TIMESTAMP DEBUG Ignoring operation reply CU:83ad84.00000004 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:56533a52-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-28241", +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" : "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:56533a52-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:56533a52-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:56533a52-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:56533a52-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:56533a52-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:56533a52-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:56533a52-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as MP:56533a52 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update MP:56533a52 +TIMESTAMP +TIMESTAMP MP:56533a52 +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:9416e6cf +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:9416e6cf +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:9416e6cf +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:9416e6cf-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-28241", +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" : "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:9416e6cf-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:9416e6cf-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:9416e6cf-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 1724ms +TIMESTAMP DEBUG Rate-limiting config by 1724ms +TIMESTAMP TRACE Updated check config_update: true +TIMESTAMP DEBUG Update config_update, adding configTransaction RC:83ad84.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:9416e6cf-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:9416e6cf-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:9416e6cf-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:9416e6cf-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d5dce792 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d5dce792 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d5dce792 +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:83ad84.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.00000005 +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.00000005 +TIMESTAMP +TIMESTAMP RC:83ad84.00000005 +TIMESTAMP INFO Updated config #003: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:83ad84.00000005 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:83ad84.00000005 +TIMESTAMP DEBUG Ignoring operation reply CU:83ad84.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:d5dce792-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-28241", +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" : "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:d5dce792-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:d5dce792-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:d5dce792-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:d5dce792-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:d5dce792-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:d5dce792-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:d5dce792-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:85e6c76c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:85e6c76c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:85e6c76c +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:85e6c76c-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-28241", +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" : "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:85e6c76c-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:83ad84.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:85e6c76c-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:85e6c76c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:85e6c76c-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:85e6c76c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:85e6c76c-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:85e6c76c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as RC:83ad84.00000006 +TIMESTAMP DEBUG Received state_update +TIMESTAMP INFO Received device configAcked +TIMESTAMP DEBUG Handling update message state_update RC:83ad84.00000006 +TIMESTAMP DEBUG Removed stateTransaction RC:83ad84.00000006 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP RC:83ad84.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:83ad84.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:83ad84.00000006 +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:9fa8a9e0 +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 1847ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 1846ms +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 1839ms +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 INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer -515ms +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 1993ms +TIMESTAMP DEBUG device.log: State update defer 1992ms +TIMESTAMP DEBUG device.log: State update defer 1989ms +TIMESTAMP DEBUG device.log: State update defer 1988ms +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:9fa8a9e0 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:67d19a40 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:67d19a40 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:67d19a40 +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:83ad84.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.00000007 +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.00000007 +TIMESTAMP +TIMESTAMP RC:83ad84.00000007 +TIMESTAMP INFO Updated config #004: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/update as CU:83ad84.00000007 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update CU:83ad84.00000007 +TIMESTAMP DEBUG Ignoring operation reply CU:83ad84.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:67d19a40-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-28241", +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" : "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:67d19a40-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:67d19a40-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:67d19a40-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:67d19a40-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:67d19a40-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:67d19a40-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:67d19a40-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:c4f6dccc +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:c4f6dccc +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:c4f6dccc +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:c4f6dccc-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-28241", +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" : "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:c4f6dccc-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:c4f6dccc-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:c4f6dccc-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:c4f6dccc-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:c4f6dccc-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 1987ms +TIMESTAMP DEBUG Rate-limiting config by 1987ms +TIMESTAMP DEBUG System config extra field null +TIMESTAMP TRACE Updated check config_system: true +TIMESTAMP DEBUG Update config_system, adding configTransaction RC:83ad84.00000008 +TIMESTAMP TRACE Updated check config_pointset: true +TIMESTAMP DEBUG Update config_pointset, adding configTransaction RC:83ad84.00000009 +TIMESTAMP TRACE Updated check config_gateway: false +TIMESTAMP TRACE Updated check config_localnet: true +TIMESTAMP DEBUG Update config_localnet, adding configTransaction RC:83ad84.0000000a +TIMESTAMP TRACE Updated check config_blobset: true +TIMESTAMP DEBUG Update config_blobset, adding configTransaction RC:83ad84.0000000b +TIMESTAMP TRACE Updated check config_discovery: true +TIMESTAMP DEBUG Update config_discovery, adding configTransaction RC:83ad84.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:c4f6dccc-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:c4f6dccc-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:0133dc91 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:0133dc91 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:0133dc91 +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:83ad84.00000008 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.00000008 +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.00000008 +TIMESTAMP +TIMESTAMP RC:83ad84.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:83ad84.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:83ad84.00000008 +TIMESTAMP TRACE Ignoring echo configTransaction CU:83ad84.00000008 +TIMESTAMP DEBUG Received command AHU-1/state/system as MP:0133dc91-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-28241", +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" : "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:0133dc91-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:0133dc91-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:0133dc91-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:0133dc91-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:0133dc91-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:0133dc91-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:0133dc91-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:83ad84.0000000c +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.0000000c +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.0000000c +TIMESTAMP +TIMESTAMP RC:83ad84.0000000c +TIMESTAMP INFO Updated config #006: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/discovery as CU:83ad84.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:83ad84.0000000c +TIMESTAMP TRACE Ignoring echo configTransaction CU:83ad84.0000000c +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:83ad84.00000009 +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.00000009 +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.00000009 +TIMESTAMP +TIMESTAMP RC:83ad84.00000009 +TIMESTAMP INFO Updated config #007: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/pointset as CU:83ad84.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:83ad84.00000009 +TIMESTAMP TRACE Ignoring echo configTransaction CU:83ad84.00000009 +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:83ad84.0000000a +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.0000000a +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.0000000a +TIMESTAMP +TIMESTAMP RC:83ad84.0000000a +TIMESTAMP INFO Updated config #008: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/localnet as CU:83ad84.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:83ad84.0000000a +TIMESTAMP TRACE Ignoring echo configTransaction CU:83ad84.0000000a +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:f71a427c +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:f71a427c +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:f71a427c +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:f71a427c-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-28241", +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" : "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:f71a427c-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:f71a427c-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:f71a427c-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:f71a427c-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:f71a427c-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:f71a427c-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:f71a427c-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/config/update as RC:83ad84.0000000b +TIMESTAMP DEBUG Received config_update +TIMESTAMP DEBUG Handling update message config_update RC:83ad84.0000000b +TIMESTAMP DEBUG Removed configTransaction RC:83ad84.0000000b +TIMESTAMP +TIMESTAMP RC:83ad84.0000000b +TIMESTAMP INFO Updated config #009: Changed 0 fields. +TIMESTAMP +TIMESTAMP DEBUG Received command AHU-1/config/blobset as CU:83ad84.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:83ad84.0000000b +TIMESTAMP TRACE Ignoring echo configTransaction CU:83ad84.0000000b +TIMESTAMP DEBUG Detail config update synchronized is now: last_config not synced in state +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:ef1a3427 +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer -1093ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +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 1995ms +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer -2ms +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 -1373ms +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_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 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 1697ms +TIMESTAMP DEBUG device.log: State update defer 1696ms +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 1693ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG device.log: State update defer 825ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 823ms +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 device.log: State update defer 819ms +TIMESTAMP NOTICE system.config.apply: success +TIMESTAMP DEBUG device.log: State update defer 818ms +TIMESTAMP DEBUG device.log: State update defer 818ms +TIMESTAMP DEBUG device.log: State update defer 818ms +TIMESTAMP DEBUG system.config.receive: success +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP DEBUG device.log: State update defer 554ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 553ms +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 550ms +TIMESTAMP DEBUG device.log: State update defer 549ms +TIMESTAMP DEBUG device.log: State update defer 548ms +TIMESTAMP DEBUG device.log: State update defer 548ms +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 1389ms +TIMESTAMP DEBUG system.config.parse: success +TIMESTAMP INFO device.log: Device AHU-1 config handler +TIMESTAMP DEBUG device.log: State update defer 1387ms +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 1381ms +TIMESTAMP DEBUG Handling device message events_system MP:ef1a3427 +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:89594262 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:89594262 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:89594262 +TIMESTAMP INFO Updated state #010: Changed 6 fields: +TIMESTAMP` +TIMESTAMP INFO Updated state #010: Set `system.status.level` = `100` +TIMESTAMP INFO Updated state #010: Set `system.status.category` = `system.config.parse` +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 6s +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:89594262-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-28241", +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" : "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:89594262-0 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/discovery as MP:89594262-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:89594262-1 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/localnet as MP:89594262-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:89594262-2 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/blobset as MP:89594262-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:89594262-3 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/pointset as MP:89594262-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:89594262-4 +TIMESTAMP TRACE Ignoring partial state update +TIMESTAMP DEBUG Received command AHU-1/state/update as MP:d9552e55 +TIMESTAMP DEBUG Received state_update +TIMESTAMP DEBUG Handling update message state_update MP:d9552e55 +TIMESTAMP DEBUG Capturing AHU-1 message state_update +TIMESTAMP MP:d9552e55 +TIMESTAMP INFO Updated state #011: Changed 2 fields: +TIMESTAMP INFO Updated state #011: Set `blobset.blobs.pubber_module.phase` = `final` +TIMESTAMP` +TIMESTAMP) +TIMESTAMP DEBUG Stage finished waiting for pubber_module phase is FINAL at @32s after 2s +TIMESTAMP TRACE Stage resume waiting for executing test at @32s +TIMESTAMP TRACE Stage suspend waiting for executing test at @32s +TIMESTAMP INFO Stage start waiting for system logs level `NOTICE` category `blobset.blob.apply` at @32s +TIMESTAMP is 1953ms +TIMESTAMP DEBUG Rate-limiting config by 1953ms +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 -1093ms +TIMESTAMP INFO device.log: Device AHU-1 config handler +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 1995ms +TIMESTAMP DEBUG device.log: State update defer 1994ms +TIMESTAMP DEBUG device.log: State update defer -2ms +TIMESTAMP +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG Received command AHU-1/events/system as MP:1d74fe5a +TIMESTAMP DEBUG device.log: State update AHU-1 (blob_update_success) +TIMESTAMP DEBUG blobset.blob.fetch: Fetching blob data for pubber_module +TIMESTAMP DEBUG blobset.blob.fetch.success: Successfully fetched blob data for pubber_module +TIMESTAMP NOTICE blobset.blob.apply: Applying blob update... +TIMESTAMP INFO device.log: Triggering mock OTA update to commit v2 +TIMESTAMP INFO device.log: Simulating OTA update delay... +TIMESTAMP NOTICE device.log: Mock OTA update completed successfully. +TIMESTAMP NOTICE device.log: Blob pubber_module successfully applied +TIMESTAMP +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:1d74fe5a +TIMESTAMP DEBUG Capturing AHU-1 message events_system +TIMESTAMP NOTICE blobset.blob.apply: Applying blob update... +TIMESTAMP DEBUG Detail system logs level `NOTICE` category `blobset.blob.apply` is now: null +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 @34s after 1s +TIMESTAMP TRACE Stage resume waiting for executing test at @34s +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 @34s +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 @34s ################################ diff --git a/validator/sequences/blob_update_success/sequence.md b/validator/sequences/blob_update_success/sequence.md new file mode 100644 index 0000000000..1355a0515e --- /dev/null +++ b/validator/sequences/blob_update_success/sequence.md @@ -0,0 +1,12 @@ + +## blob_update_success (PREVIEW) + +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 `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..a533b903de --- /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-28241", + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + }, + "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..c96b6b980b --- /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-28241", + "hardware" : { + "make" : "BOS", + "model" : "pubber" + }, + "software" : { + "firmware" : "v1", + "pubber_module" : "v2" + }, + "status" : { + "message" : "success", + "category" : "system.config.parse", + "timestamp" : "TIMESTAMP", + "level" : 100 + } + }, + "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 From fa365e268ce1052b2e1782404de542e6864d6fef Mon Sep 17 00:00:00 2001 From: Khyati Mahendru Date: Thu, 16 Apr 2026 05:29:08 +0000 Subject: [PATCH 22/22] Add golden files for itemized tests --- etc/schema_itemized.out | 2 ++ etc/sequencer.out | 8 +++++++- etc/test_itemized.in | 4 ++-- etc/test_itemized.out | 2 ++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/etc/schema_itemized.out b/etc/schema_itemized.out index 2d6b81f85b..3978971185 100644 --- a/etc/schema_itemized.out +++ b/etc/schema_itemized.out @@ -50,6 +50,8 @@ 0 system_last_update RESULT fail schemas state_update_stable STABLE 10/10 Schema violations found 0 system_last_update RESULT pass schemas device_state_stable STABLE 10/10 Schema validation passed 1 state_make_model +1 blob_incompatible +1 blob_dependency_mismatch 4 valid_serial_no 1 system_last_update 1 system_min_loglevel RESULT fail schemas device_state_alpha ALPHA 10/10 Schema violations found diff --git a/etc/sequencer.out b/etc/sequencer.out index 69bb49397d..1a42b3b78e 100644 --- a/etc/sequencer.out +++ b/etc/sequencer.out @@ -42,7 +42,6 @@ RESULT pass system extra_config STABLE 10/10 Sequence complete 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 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 @@ -50,6 +49,13 @@ CPBLTY pass system system_last_update.subblocks ALPHA 1/1 Capability supported RESULT pass system system_min_loglevel ALPHA 10/10 Sequence complete RESULT pass system too_much_state ALPHA 10/10 Sequence complete RESULT pass system valid_serial_no STABLE 10/10 Sequence complete +RESULT pass system.mode system_mode_restart PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_dependency_mismatch PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_fetch_failure PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_hash_mismatch PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_incompatible PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_parse_failure PREVIEW 10/10 Sequence complete +RESULT pass system.software.updates blob_update_success PREVIEW 10/10 Sequence complete RESULT pass writeback writeback_failure ALPHA 10/10 Sequence complete RESULT pass writeback writeback_invalid ALPHA 10/10 Sequence complete RESULT pass writeback writeback_operation ALPHA 10/10 Sequence complete diff --git a/etc/test_itemized.in b/etc/test_itemized.in index 3579fbed5b..b5ff3fd8f3 100644 --- a/etc/test_itemized.in +++ b/etc/test_itemized.in @@ -27,8 +27,8 @@ TEST system_last_update extraField=fnooz TEST system_last_update dupeState TEST system_last_update badLevel TEST state_make_model badState -TEST ota_hardware_mismatch hardwareIncompatible -TEST ota_software_mismatch softwareDependencyMismatch +TEST blob_incompatible hardwareIncompatible +TEST blob_dependency_mismatch softwareDependencyMismatch # Test with various device metadata.json options WITH AHU-1 noState diff --git a/etc/test_itemized.out b/etc/test_itemized.out index 3b047ad2fb..809a2f56bd 100644 --- a/etc/test_itemized.out +++ b/etc/test_itemized.out @@ -65,3 +65,5 @@ 1 RESULT pass gateway bad_target_address PREVIEW 10/10 Sequence complete 1 RESULT pass gateway bad_point_ref PREVIEW 10/10 Sequence complete 4 RESULT skip gateway bad_point_ref PREVIEW 0/0 No testing target defined for 'tweaked_ref' +30 RESULT pass system.software.updates blob_incompatible PREVIEW 10/10 Sequence complete +31 RESULT pass system.software.updates blob_dependency_mismatch PREVIEW 10/10 Sequence complete