├── .gencode_hash.txt
├── .gitattributes
├── .github
└── workflows
│ ├── integration.yaml
│ ├── release-discovery.yaml
│ ├── release-udmi.yaml
│ └── testing.yml
├── .gitignore
├── .gitlab-ci.yml
├── .pylintrc
├── .spellcheck.yml
├── .wordlist.txt
├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── _includes
└── head-custom.html
├── agent
├── git_manager.py
├── go.sh
├── mqtt_manager.py
└── udmi_agent.py
├── bin
├── augment_auth
├── augment_metadata
├── check_version
├── clean_tags
├── clone_model
├── container
├── deploy
├── diagnoser
├── fail
├── gcp_device_logs
├── gencode
├── gencode_buckets
├── gencode_categories
├── gencode_docs
├── gencode_docs_checklinks
├── gencode_docs_examples
├── gencode_java
├── gencode_python
├── gencode_root_schemas
├── gencode_seq
├── gencovg
├── gendocs.py
├── genkeys
├── git-branch-create
├── git-branch-remote
├── git-branch-status
├── git-branch-update
├── keygen
├── mapper
├── mosquctl_client
├── mosquctl_log
├── mosquctl_site
├── pagent
├── presubmit
├── pubber
├── pull_messages
├── pull_mqtt
├── pull_pubsub
├── registrar
├── reset_config
├── run_tests
├── sequencer
├── sequencer_cache
├── sequencer_report
├── set_project
├── setup_base
├── setup_ca
├── setup_chromedriver
├── start_etcd
├── start_hivemq
├── start_influx
├── start_local
├── start_mosquitto
├── start_pubsub
├── start_udmis
├── stream_device_messages
├── support
├── support_process
├── test_automapper
├── test_combos
├── test_etcd
├── test_itemcheck
├── test_itemized
├── test_mosquitto
├── test_proxy
├── test_py
├── test_pylint
├── test_redirect
├── test_regclean
├── test_registrar
├── test_registrar_e2e
├── test_runlocal
├── test_schema
├── test_sequcheck
├── test_sequencer
├── test_sequencer_plan
├── test_sequencer_report
├── test_sites
├── test_special
├── test_trace
├── test_udmis
├── test_validator
├── timestamp
├── toolrun
├── update_udmis
├── upgrade_version
├── validate_site_model_actual
├── validator
└── which_venv_pip3
├── cloud
└── gcp
│ ├── api.tf
│ ├── auth
│ └── credentials.json.template
│ ├── gks.tf
│ ├── main.tf.template
│ ├── modules
│ └── terraform-google-udmi-site
│ │ ├── LICENSE
│ │ ├── examples
│ │ └── example.tf
│ │ ├── iotcore.tf
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── pubsub.tf
│ │ ├── readme.md
│ │ ├── sourcerepo.tf
│ │ └── variables.tf
│ ├── outputs.tf
│ ├── postgresql.tf
│ ├── provider.tf
│ ├── readme.md
│ ├── setup.sh
│ ├── sourcerepo.tf
│ ├── storage.tf
│ ├── terraform.tfvars.template
│ ├── udmi-sites.tf.template
│ ├── udmi.tf
│ ├── variables.tf
│ └── vpc.tf
├── common
└── src
│ ├── main
│ └── java
│ │ ├── com
│ │ └── google
│ │ │ └── udmi
│ │ │ └── util
│ │ │ ├── CertManager.java
│ │ │ ├── CleanDateFormat.java
│ │ │ ├── CommandLineOption.java
│ │ │ ├── CommandLineProcessor.java
│ │ │ ├── Common.java
│ │ │ ├── ContextWrapper.java
│ │ │ ├── DiffEntry.java
│ │ │ ├── DualOutputStream.java
│ │ │ ├── ErrorMap.java
│ │ │ ├── ExceptionList.java
│ │ │ ├── ExceptionMap.java
│ │ │ ├── GeneralUtils.java
│ │ │ ├── JsonUtil.java
│ │ │ ├── MessageDowngrader.java
│ │ │ ├── MessageUpgrader.java
│ │ │ ├── MessageValidator.java
│ │ │ ├── MetadataMapKeys.java
│ │ │ ├── NanSerializer.java
│ │ │ ├── ProperPrinter.java
│ │ │ ├── SheetsOutputStream.java
│ │ │ ├── SiteModel.java
│ │ │ ├── SpreadsheetManager.java
│ │ │ ├── ValidationError.java
│ │ │ ├── ValidationException.java
│ │ │ └── ValidationWarning.java
│ │ └── udmi
│ │ ├── lib
│ │ └── ProtocolFamily.java
│ │ └── util
│ │ └── SchemaVersion.java
│ └── test
│ └── java
│ └── com
│ └── google
│ └── udmi
│ └── util
│ ├── GeneralUtilsTest.java
│ ├── MessageDowngraderTest.java
│ ├── MessageUpgraderTest.java
│ ├── SheetsOutputStreamTest.java
│ └── SpreadsheetManagerTest.java
├── contrib
└── mango
│ ├── .gitignore
│ └── mango_docker
├── docs
├── cloud
│ ├── gcp
│ │ ├── functions.md
│ │ ├── readme.md
│ │ ├── swarm.md
│ │ ├── terraform.md
│ │ └── udmis.md
│ └── readme.md
├── device_testing
│ ├── gateways_and_direct_devices.html
│ ├── img
│ │ ├── circle.png
│ │ ├── circle_no.png
│ │ ├── circle_yes.png
│ │ ├── no-black.png
│ │ ├── no.png
│ │ ├── no.xcf
│ │ ├── products
│ │ │ ├── ALC_OFHI.png
│ │ │ ├── FS-32.png
│ │ │ ├── FW-14.png
│ │ │ ├── LROC_400.png
│ │ │ ├── Mango_os.png
│ │ │ ├── O3-DIN-CPU.png
│ │ │ ├── RED5-EDGE-634.png
│ │ │ ├── RED5-PLUS-1180.png
│ │ │ ├── danfoss.png
│ │ │ ├── distech_apex.jpg
│ │ │ ├── eBCON-2.png
│ │ │ ├── enlighted.png
│ │ │ ├── tridium_jace-8000.jpg
│ │ │ ├── tyrrell.jpg
│ │ │ └── vayandata.png
│ │ ├── skip-black.png
│ │ ├── skip.png
│ │ ├── skip.xcf
│ │ ├── untested.png
│ │ ├── untested.xcf
│ │ ├── yes-black.png
│ │ ├── yes.png
│ │ └── yes.xcf
│ ├── index.html
│ └── proxied_devices.html
├── guides
│ ├── config_nonce.md
│ ├── development.md
│ ├── device_testing.md
│ ├── feature_stages.md
│ ├── readme.md
│ ├── sequencing.md
│ └── workflow.md
├── learning
│ └── readme.md
├── messages
│ ├── config.md
│ ├── envelope.md
│ ├── event.md
│ ├── pointset.md
│ ├── readme.md
│ ├── state.md
│ ├── status.md
│ └── system.md
├── readme.md
├── specs
│ ├── buckets.md
│ ├── categories.md
│ ├── compliance.md
│ ├── connecting.md
│ ├── discovery.md
│ ├── entries.md
│ ├── gateway.md
│ ├── mapping.md
│ ├── message_walk.md
│ ├── metadata.md
│ ├── mqtt_client.md
│ ├── onboarding.md
│ ├── point_mapping.md
│ ├── provisioning.md
│ ├── proxy.md
│ ├── readme.md
│ ├── sequences
│ │ ├── config.md
│ │ ├── discovery.md
│ │ ├── endpoint_reconfiguration.md
│ │ ├── generated.md
│ │ ├── images
│ │ │ ├── state.png
│ │ │ ├── writeback-basic.png
│ │ │ └── writeback-etag-example.png
│ │ ├── readme.md
│ │ └── writeback.md
│ ├── site_model.md
│ ├── subblocks.md
│ ├── system_mode.md
│ ├── tech_stack.md
│ ├── topology.md
│ └── validation.md
├── tech_primer.md
├── tools
│ ├── bambi_service.md
│ ├── exceptions.json
│ ├── gcloud.md
│ ├── gittools.md
│ ├── keygen.md
│ ├── pagent.md
│ ├── project_spec.md
│ ├── pubber.md
│ ├── readme.md
│ ├── registrar.md
│ ├── reset_config.md
│ ├── sequencer.md
│ ├── setup.md
│ ├── sharding.md
│ ├── stream_to_gsheet.md
│ ├── troubleshooting.md
│ └── validator.md
└── udmis
│ ├── class_overview.md
│ ├── local_docker.md
│ ├── pubber_output.md
│ ├── readme.md
│ ├── registrar_output.md
│ ├── report_output.md
│ ├── sequencer_output.md
│ └── udmis_output.md
├── etc
├── Bucket.java
├── Category.java
├── Level.java
├── actions_init.sh
├── category.json
├── checkstyle.xml
├── docker-compose.yml
├── external_refs.txt
├── extract_parameters.sh
├── local_tests.txt
├── mosquitto.conf
├── mosquitto_ctrl.sh
├── mosquitto_udmi.conf
├── pubber_configs
│ ├── boshiot_config.json
│ ├── clearblade_config.json
│ ├── digitalbuilding.json
│ ├── gcp_config.json
│ ├── kore_config.json
│ └── leverege_config.json
├── requirements.txt
├── schema.out
├── schema_extras.js
├── schema_hideme.txt
├── schema_itemized.out
├── schema_local.out
├── schema_navbar.html
├── schema_nostate.out
├── schema_readme_template.md
├── sequencer.out
├── sequencer_local.out
├── sequencer_nostate.out
├── sequencer_plan.txt
├── sequencer_report.md.template
├── shell_common.sh
├── site_configs
│ ├── bos-platform-dev.json
│ └── udmi-external.json
├── telegraf.conf
├── test_itemized.in
├── test_itemized.out
├── upversion.txt
└── validator.out
├── gencode
├── docs
│ ├── commands_discovery.html
│ ├── commands_mapping.html
│ ├── config.html
│ ├── config_mapping.html
│ ├── configuration_endpoint.html
│ ├── configuration_execution.html
│ ├── configuration_pod.html
│ ├── configuration_pubber.html
│ ├── data_template.html
│ ├── events.html
│ ├── events_discovery.html
│ ├── events_mapping.html
│ ├── events_pointset.html
│ ├── events_system.html
│ ├── events_udmi.html
│ ├── events_validation.html
│ ├── metadata.html
│ ├── monitoring.html
│ ├── persistent_device.html
│ ├── properties.html
│ ├── query_cloud.html
│ ├── readme.md
│ ├── schema_doc.css
│ ├── schema_doc.min.js
│ ├── schema_extras.js
│ ├── site_metadata.html
│ ├── state.html
│ ├── state_mapping.html
│ └── state_validation.html
├── java
│ └── udmi
│ │ └── schema
│ │ ├── Area.java
│ │ ├── Asset.java
│ │ ├── Auth_provider.java
│ │ ├── BasePodConfiguration.java
│ │ ├── Basic.java
│ │ ├── BlobBlobsetConfig.java
│ │ ├── BlobBlobsetState.java
│ │ ├── BlobsetConfig.java
│ │ ├── BlobsetState.java
│ │ ├── BridgePodConfiguration.java
│ │ ├── Bucket.java
│ │ ├── BuildingTranslation.java
│ │ ├── CapabilityValidationState.java
│ │ ├── Category.java
│ │ ├── CloudConfigModel.java
│ │ ├── CloudModel.java
│ │ ├── CloudQuery.java
│ │ ├── Common.java
│ │ ├── Config.java
│ │ ├── Connections.java
│ │ ├── Coordinates.java
│ │ ├── Credential.java
│ │ ├── DeviceMappingConfig.java
│ │ ├── DeviceMappingState.java
│ │ ├── DevicePersistent.java
│ │ ├── DeviceValidationEvents.java
│ │ ├── Dimension.java
│ │ ├── DiscoveryCommand.java
│ │ ├── DiscoveryConfig.java
│ │ ├── DiscoveryEvents.java
│ │ ├── DiscoveryModel.java
│ │ ├── DiscoveryState.java
│ │ ├── Electricity.java
│ │ ├── EndpointConfiguration.java
│ │ ├── Entry.java
│ │ ├── Enumerations.java
│ │ ├── Envelope.java
│ │ ├── Events.java
│ │ ├── ExecutionConfiguration.java
│ │ ├── FamilyDiscovery.java
│ │ ├── FamilyDiscoveryConfig.java
│ │ ├── FamilyDiscoveryModel.java
│ │ ├── FamilyDiscoveryState.java
│ │ ├── FamilyLocalnetConfig.java
│ │ ├── FamilyLocalnetModel.java
│ │ ├── FamilyLocalnetState.java
│ │ ├── FeatureDiscovery.java
│ │ ├── FeatureValidationState.java
│ │ ├── Gas.java
│ │ ├── GatewayConfig.java
│ │ ├── GatewayModel.java
│ │ ├── GatewayState.java
│ │ ├── IotAccess.java
│ │ ├── Jwt.java
│ │ ├── Level.java
│ │ ├── LocalnetConfig.java
│ │ ├── LocalnetModel.java
│ │ ├── LocalnetState.java
│ │ ├── Location.java
│ │ ├── MappingCommand.java
│ │ ├── MappingConfig.java
│ │ ├── MappingEventEntity.java
│ │ ├── MappingEvents.java
│ │ ├── MappingState.java
│ │ ├── MessageTemplateData.java
│ │ ├── Metadata.java
│ │ ├── Metrics.java
│ │ ├── Monitoring.java
│ │ ├── MonitoringMetric.java
│ │ ├── Operation.java
│ │ ├── Parameters.java
│ │ ├── Parent.java
│ │ ├── Physical_tag.java
│ │ ├── PodConfiguration.java
│ │ ├── PointPointsetConfig.java
│ │ ├── PointPointsetEvents.java
│ │ ├── PointPointsetModel.java
│ │ ├── PointPointsetState.java
│ │ ├── PointsetConfig.java
│ │ ├── PointsetEvents.java
│ │ ├── PointsetModel.java
│ │ ├── PointsetState.java
│ │ ├── PointsetSummary.java
│ │ ├── Position.java
│ │ ├── Properties.java
│ │ ├── PubberConfiguration.java
│ │ ├── PubberOptions.java
│ │ ├── RefDiscovery.java
│ │ ├── SchemaValidationState.java
│ │ ├── Scoring.java
│ │ ├── SequenceValidationState.java
│ │ ├── SetupUdmiConfig.java
│ │ ├── SetupUdmiState.java
│ │ ├── SiteLinks.java
│ │ ├── SiteLocation.java
│ │ ├── SiteMetadata.java
│ │ ├── State.java
│ │ ├── StateSystemHardware.java
│ │ ├── StateSystemOperation.java
│ │ ├── Structure.java
│ │ ├── SystemConfig.java
│ │ ├── SystemDiscoveryData.java
│ │ ├── SystemEvents.java
│ │ ├── SystemHardware.java
│ │ ├── SystemModel.java
│ │ ├── SystemState.java
│ │ ├── TargetTestingModel.java
│ │ ├── TestingModel.java
│ │ ├── TestingSystemConfig.java
│ │ ├── UdmiConfig.java
│ │ ├── UdmiEvents.java
│ │ ├── UdmiState.java
│ │ ├── ValidationEvents.java
│ │ ├── ValidationState.java
│ │ ├── ValidationSummary.java
│ │ ├── VirtualEquipmentLinks.java
│ │ └── Water.java
└── python
│ └── udmi
│ └── schema
│ ├── __init__.py
│ ├── access_iot.py
│ ├── ancillary_properties.py
│ ├── building_translation.py
│ ├── category.py
│ ├── commands_discovery.py
│ ├── commands_mapping.py
│ ├── common.py
│ ├── config.py
│ ├── config_blobset.py
│ ├── config_blobset_blob.py
│ ├── config_discovery.py
│ ├── config_discovery_family.py
│ ├── config_gateway.py
│ ├── config_localnet.py
│ ├── config_localnet_family.py
│ ├── config_mapping.py
│ ├── config_mapping_device.py
│ ├── config_pointset.py
│ ├── config_pointset_point.py
│ ├── config_system.py
│ ├── config_system_testing.py
│ ├── config_udmi.py
│ ├── configuration_endpoint.py
│ ├── configuration_execution.py
│ ├── configuration_pod.py
│ ├── configuration_pod_base.py
│ ├── configuration_pod_bridge.py
│ ├── configuration_pubber.py
│ ├── data_template.py
│ ├── dimension.py
│ ├── discovery_family.py
│ ├── discovery_feature.py
│ ├── discovery_ref.py
│ ├── entry.py
│ ├── envelope.py
│ ├── equipment_translation.py
│ ├── events.py
│ ├── events_discovery.py
│ ├── events_mapping.py
│ ├── events_mapping_entities.py
│ ├── events_mapping_entity.py
│ ├── events_pointset.py
│ ├── events_pointset_point.py
│ ├── events_system.py
│ ├── events_udmi.py
│ ├── events_validation.py
│ ├── events_validation_device.py
│ ├── metadata.py
│ ├── model_cloud.py
│ ├── model_cloud_config.py
│ ├── model_discovery.py
│ ├── model_discovery_family.py
│ ├── model_features.py
│ ├── model_gateway.py
│ ├── model_localnet.py
│ ├── model_localnet_family.py
│ ├── model_pointset.py
│ ├── model_pointset_point.py
│ ├── model_system.py
│ ├── model_system_hardware.py
│ ├── model_testing.py
│ ├── model_testing_target.py
│ ├── monitoring.py
│ ├── monitoring_metric.py
│ ├── options_pubber.py
│ ├── persistent_device.py
│ ├── properties.py
│ ├── query_cloud.py
│ ├── site_metadata.py
│ ├── state.py
│ ├── state_blobset.py
│ ├── state_blobset_blob.py
│ ├── state_discovery.py
│ ├── state_discovery_family.py
│ ├── state_gateway.py
│ ├── state_localnet.py
│ ├── state_localnet_family.py
│ ├── state_mapping.py
│ ├── state_mapping_device.py
│ ├── state_pointset.py
│ ├── state_pointset_point.py
│ ├── state_system.py
│ ├── state_system_hardware.py
│ ├── state_system_operation.py
│ ├── state_udmi.py
│ ├── state_validation.py
│ ├── state_validation_capability.py
│ ├── state_validation_feature.py
│ ├── state_validation_schema.py
│ ├── state_validation_sequence.py
│ └── virtual_links.py
├── misc
├── .gitignore
├── Dockerfile.misc
├── automated_sequencer
│ ├── README.md
│ ├── reporter
│ │ ├── Dockerfile
│ │ ├── build.sh
│ │ ├── config.sh
│ │ ├── generate_device_report
│ │ ├── index_template.html
│ │ ├── listener.sh
│ │ └── python
│ │ │ ├── device_runs.py
│ │ │ ├── device_template.html
│ │ │ ├── generate_report.py
│ │ │ ├── merge_master.py
│ │ │ ├── requirements.txt
│ │ │ ├── run_metadata.py
│ │ │ ├── run_results.py
│ │ │ ├── template_helper.py
│ │ │ └── test_result.py
│ └── sequencer
│ │ ├── Dockerfile
│ │ ├── build.sh
│ │ ├── config.sh
│ │ └── entrypoint.sh
├── bambi
│ └── metadata.json
├── bin
│ ├── build
│ └── migrate_num_id
├── discoverynode
│ ├── .gitignore
│ ├── README.md
│ ├── bin
│ │ ├── build_binary
│ │ ├── install_daemon
│ │ ├── run
│ │ └── setup
│ ├── buildenvs
│ │ ├── build.sh
│ │ ├── debian11.Dockerfile
│ │ └── ubuntu16.Dockerfile
│ ├── discoverybuilder.Dockerfile
│ ├── etc
│ │ └── base_config.json
│ ├── samples
│ │ ├── config.json
│ │ ├── config_clearblade.json
│ │ ├── config_localhost.json
│ │ ├── sample_bacnet.py
│ │ └── sample_passive.py
│ ├── src
│ │ ├── main.py
│ │ ├── requirements.txt
│ │ ├── tests
│ │ │ ├── config.toml
│ │ │ ├── nmaplocalhost.xml
│ │ │ ├── test_discovery.py
│ │ │ ├── test_integration.py
│ │ │ ├── test_nmap.py
│ │ │ └── test_udmi.py
│ │ └── udmi
│ │ │ ├── __init__.py
│ │ │ ├── core.py
│ │ │ ├── discovery
│ │ │ ├── bacnet.py
│ │ │ ├── discovery.py
│ │ │ ├── nmap.py
│ │ │ ├── numbers.py
│ │ │ ├── passive.py
│ │ │ └── utils
│ │ │ │ └── nmap.py
│ │ │ ├── publishers
│ │ │ ├── mock_publisher.py
│ │ │ ├── mqtt.py
│ │ │ └── publisher.py
│ │ │ └── schema
│ │ │ ├── config.py
│ │ │ ├── discovery_event.py
│ │ │ ├── state.py
│ │ │ └── util.py
│ └── testing
│ │ ├── docker
│ │ ├── bacnet_device
│ │ │ ├── Dockerfile
│ │ │ ├── bacnet_server.py
│ │ │ ├── build.sh
│ │ │ ├── entrypoint.sh
│ │ │ └── requirements.txt
│ │ └── discovery_node
│ │ │ ├── Dockerfile
│ │ │ ├── build.sh
│ │ │ └── entrypoint.sh
│ │ ├── e2e
│ │ ├── .gitignore
│ │ ├── test_local
│ │ └── test_local.py
│ │ └── integration
│ │ └── integration_test.sh
├── distroless_tools
│ ├── Dockerfile
│ └── readme.md
├── etc
│ └── dummy
├── gcloud_deployment
│ ├── create_reflect_credentials
│ └── setup_gcp_project
├── gcloud_iot_config
│ ├── README.md
│ ├── deploy
│ └── functions
│ │ ├── index.js
│ │ └── package.json
├── gcloud_iot_connection_log
│ ├── README.md
│ ├── deploy
│ ├── functions
│ │ ├── index.js
│ │ └── package.json
│ └── schema_iot_logs.json
├── gcloud_iot_pingreq_log
│ ├── README.md
│ ├── deploy
│ ├── functions
│ │ ├── index.js
│ │ └── package.json
│ ├── schema_iot_logs.json
│ └── schema_messages.json
├── gcloud_messages_telemetry
│ ├── README.md
│ ├── deploy
│ ├── functions
│ │ ├── index.js
│ │ └── package.json
│ ├── pubber
│ │ └── out
│ │ │ ├── config.json
│ │ │ ├── events_pointset.json
│ │ │ ├── events_system.json
│ │ │ ├── pubber.log
│ │ │ └── state.json
│ ├── schema_messages.json
│ ├── schema_state.json
│ └── schema_telemetry.json
├── gcloud_pubsub_mirror
│ ├── README.md
│ └── mirror.py
├── gcloud_state_hardware_software
│ ├── README.md
│ ├── deploy
│ ├── functions
│ │ ├── index.js
│ │ └── package.json
│ └── schema_state.json
├── gcloud_store_message
│ ├── README.md
│ ├── deploy
│ └── functions
│ │ ├── index.js
│ │ └── package.json
└── replay_validated
│ ├── replay
│ └── requirements.txt
├── proxy
├── Dockerfile.proxy
├── attributes.json
├── bin
│ ├── deploy
│ └── run
├── k8s_deployment.yaml
└── pubber.json
├── pubber
├── .idea
│ ├── checkstyle-idea.xml
│ ├── codeStyles
│ │ ├── Project.xml
│ │ └── codeStyleConfig.xml
│ ├── compiler.xml
│ ├── dictionaries
│ │ └── peringknife.xml
│ ├── encodings.xml
│ ├── gradle.xml
│ ├── inspectionProfiles
│ │ └── Project_Default.xml
│ ├── jarRepositories.xml
│ ├── libraries-with-intellij-classes.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── modules
│ │ └── datafmt.iml
│ ├── runConfigurations
│ │ ├── Pubber_Config.xml
│ │ └── _template__of_Application.xml
│ ├── uiDesigner.xml
│ └── vcs.xml
├── Dockerfile.pubber
├── bin
│ ├── build
│ ├── publish
│ ├── puller
│ └── run
├── build.gradle
├── etc
│ ├── Dockerfile.puller
│ └── deployment.yaml
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── pubber.iml
├── settings.gradle
└── src
│ ├── main
│ └── java
│ │ ├── daq
│ │ └── pubber
│ │ │ ├── Pubber.java
│ │ │ └── impl
│ │ │ ├── PubberFeatures.java
│ │ │ ├── PubberManager.java
│ │ │ ├── host
│ │ │ ├── PubberProxyHost.java
│ │ │ └── PubberPublisherHost.java
│ │ │ ├── manager
│ │ │ ├── PubberDeviceManager.java
│ │ │ ├── PubberDiscoveryManager.java
│ │ │ ├── PubberGatewayManager.java
│ │ │ ├── PubberLocalnetManager.java
│ │ │ ├── PubberPointsetManager.java
│ │ │ └── PubberSystemManager.java
│ │ │ ├── point
│ │ │ ├── PubberRandomBoolean.java
│ │ │ └── PubberRandomPoint.java
│ │ │ └── provider
│ │ │ ├── PubberBacnetProvider.java
│ │ │ ├── PubberFamilyProvider.java
│ │ │ ├── PubberIpProvider.java
│ │ │ └── PubberVendorProvider.java
│ │ └── udmi
│ │ ├── lib
│ │ ├── base
│ │ │ ├── BasicPoint.java
│ │ │ ├── GatewayError.java
│ │ │ ├── ListPublisher.java
│ │ │ ├── ManagerBase.java
│ │ │ ├── MqttDevice.java
│ │ │ └── MqttPublisher.java
│ │ ├── client
│ │ │ ├── host
│ │ │ │ ├── ProxyHost.java
│ │ │ │ └── PublisherHost.java
│ │ │ └── manager
│ │ │ │ ├── DeviceManager.java
│ │ │ │ ├── DiscoveryManager.java
│ │ │ │ ├── GatewayManager.java
│ │ │ │ ├── LocalnetManager.java
│ │ │ │ ├── PointsetManager.java
│ │ │ │ └── SystemManager.java
│ │ └── intf
│ │ │ ├── AbstractPoint.java
│ │ │ ├── FamilyProvider.java
│ │ │ ├── ManagerHost.java
│ │ │ ├── ManagerLog.java
│ │ │ ├── Publisher.java
│ │ │ └── SubBlockManager.java
│ │ └── util
│ │ └── CatchingScheduledThreadPoolExecutor.java
│ └── test
│ ├── configs
│ └── localnet.json
│ └── java
│ ├── daq
│ └── pubber
│ │ ├── IpManagerTest.java
│ │ ├── PubberTest.java
│ │ └── SupportedFeaturesTest.java
│ └── udmi
│ └── lib
│ ├── ListPublisherTest.java
│ ├── MqttDeviceTest.java
│ ├── MqttPublisherTest.java
│ └── TestBase.java
├── schema
├── access_iot.json
├── ancillary_properties.json
├── building_translation.json
├── category.json
├── commands_discovery.json
├── commands_mapping.json
├── common.json
├── config.json
├── config_blobset.json
├── config_blobset_blob.json
├── config_discovery.json
├── config_discovery_family.json
├── config_gateway.json
├── config_localnet.json
├── config_localnet_family.json
├── config_mapping.json
├── config_mapping_device.json
├── config_pointset.json
├── config_pointset_point.json
├── config_system.json
├── config_system_testing.json
├── config_udmi.json
├── configuration_endpoint.json
├── configuration_execution.json
├── configuration_pod.json
├── configuration_pod_base.json
├── configuration_pod_bridge.json
├── configuration_pubber.json
├── data_template.json
├── dimension.json
├── discovery_family.json
├── discovery_feature.json
├── discovery_ref.json
├── entry.json
├── envelope.json
├── equipment_translation.json
├── events.json
├── events_discovery.json
├── events_mapping.json
├── events_mapping_entities.json
├── events_mapping_entity.json
├── events_pointset.json
├── events_pointset_point.json
├── events_system.json
├── events_udmi.json
├── events_validation.json
├── events_validation_device.json
├── metadata.json
├── model_cloud.json
├── model_cloud_config.json
├── model_discovery.json
├── model_discovery_family.json
├── model_features.json
├── model_gateway.json
├── model_localnet.json
├── model_localnet_family.json
├── model_pointset.json
├── model_pointset_point.json
├── model_system.json
├── model_system_hardware.json
├── model_testing.json
├── model_testing_target.json
├── monitoring.json
├── monitoring_metric.json
├── options_pubber.json
├── persistent_device.json
├── properties.json
├── query_cloud.json
├── site_metadata.json
├── state.json
├── state_blobset.json
├── state_blobset_blob.json
├── state_discovery.json
├── state_discovery_family.json
├── state_gateway.json
├── state_localnet.json
├── state_localnet_family.json
├── state_mapping.json
├── state_mapping_device.json
├── state_pointset.json
├── state_pointset_point.json
├── state_system.json
├── state_system_hardware.json
├── state_system_operation.json
├── state_udmi.json
├── state_validation.json
├── state_validation_capability.json
├── state_validation_feature.json
├── state_validation_schema.json
├── state_validation_sequence.json
└── virtual_links.json
├── selfie
├── Dockerfile.selfie
├── bin
│ ├── build
│ └── selfie
└── etc
│ └── k8s_selfie.yaml
├── services
├── Dockerfile.services
├── bin
│ ├── bambi_service
│ └── build
├── build.gradle
├── etc
│ ├── k8s_account.yaml
│ ├── k8s_bambi.yaml
│ └── k8s_config.yaml
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── google
│ │ └── bos
│ │ └── iot
│ │ └── core
│ │ └── bambi
│ │ ├── BambiSiteModel.java
│ │ ├── BambiSiteModelManager.java
│ │ ├── BambiSync.java
│ │ ├── LocalDiskSync.java
│ │ └── LocalSiteModelManager.java
│ └── test
│ ├── configs
│ └── localnet.json
│ └── java
│ └── com
│ └── google
│ └── bos
│ └── iot
│ └── core
│ └── bambi
│ ├── BambiSiteModelManagerTest.java
│ ├── BambiSiteModelTest.java
│ └── LocalSiteModelManagerTest.java
├── tests
├── combos
│ ├── missing_pointset.json
│ └── supersimple.json
├── discovery
│ └── bitbox
│ │ ├── 1.json
│ │ ├── 10.json
│ │ ├── 11.json
│ │ ├── 12.json
│ │ ├── 13.json
│ │ ├── 15.json
│ │ ├── 16.json
│ │ ├── 2.json
│ │ ├── 3.json
│ │ ├── 4.json
│ │ ├── 5.json
│ │ ├── 6.json
│ │ ├── 7.json
│ │ ├── 8.json
│ │ └── 9.json
├── schemas
│ ├── commands_discovery
│ │ ├── provision.json
│ │ └── provision.out
│ ├── commands_mapping
│ │ ├── mapping.json
│ │ └── mapping.out
│ ├── config
│ │ ├── blobset_final.json
│ │ ├── blobset_final.out
│ │ ├── blobset_final_incomplete_payload.out
│ │ ├── blobset_final_incomplete_url.json
│ │ ├── blobset_final_incomplete_url.out
│ │ ├── commit.out
│ │ ├── continuous.json
│ │ ├── continuous.out
│ │ ├── delta_x1_gateway.json
│ │ ├── delta_x1_gateway.out
│ │ ├── delta_x1_target.json
│ │ ├── delta_x1_target.out
│ │ ├── direct.json
│ │ ├── direct.out
│ │ ├── discovery.json
│ │ ├── discovery.out
│ │ ├── easing.json
│ │ ├── easing.out
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── endpoint_reconfiguration.json
│ │ ├── endpoint_reconfiguration.out
│ │ ├── enumeration.json
│ │ ├── enumeration.out
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── example.json
│ │ ├── example.out
│ │ ├── fcu.json
│ │ ├── fcu.out
│ │ ├── fetch.out
│ │ ├── from_bacnet.json
│ │ ├── from_bacnet.out
│ │ ├── from_radix.json
│ │ ├── from_radix.out
│ │ ├── gateway.json
│ │ ├── gateway.out
│ │ ├── implicit.json
│ │ ├── implicit.out
│ │ ├── periodic.json
│ │ ├── periodic.out
│ │ ├── proxy.json
│ │ ├── proxy.out
│ │ ├── restart.json
│ │ ├── restart.out
│ │ ├── smartprimus.json
│ │ ├── smartprimus.out
│ │ ├── writeback.json
│ │ └── writeback.out
│ ├── config_mapping
│ │ ├── mapping.json
│ │ └── mapping.out
│ ├── config_pointset
│ │ ├── easing.json
│ │ ├── easing.out
│ │ ├── example.json
│ │ └── example.out
│ ├── configuration_endpoint
│ │ ├── delta.json
│ │ ├── delta.out
│ │ ├── gcp_iot_core.json
│ │ ├── gcp_iot_core.out
│ │ ├── mosquitto.json
│ │ ├── mosquitto.out
│ │ ├── multiple.json
│ │ ├── multiple.out
│ │ ├── simple.json
│ │ └── simple.out
│ ├── configuration_execution
│ │ ├── cloud_iot_config.json
│ │ └── cloud_iot_config.out
│ ├── configuration_pubber
│ │ ├── mosquitto.json
│ │ └── mosquitto.out
│ ├── envelope
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── errors1.json
│ │ ├── errors1.out
│ │ ├── errors2.json
│ │ ├── errors2.out
│ │ ├── example.json
│ │ ├── example.out
│ │ ├── example2.json
│ │ ├── example2.out
│ │ ├── gateway.json
│ │ ├── gateway.out
│ │ ├── lgtw.json
│ │ └── lgtw.out
│ ├── events_discovery
│ │ ├── continuous.json
│ │ ├── continuous.out
│ │ ├── discovery.json
│ │ ├── discovery.out
│ │ ├── discovery_node.json
│ │ ├── discovery_node.out
│ │ ├── discovery_node2.json
│ │ ├── discovery_node2.out
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── enumeration.json
│ │ ├── enumeration.out
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── features.json
│ │ ├── features.out
│ │ ├── from_bacnet.json
│ │ ├── from_bacnet.out
│ │ ├── from_radix.json
│ │ ├── from_radix.out
│ │ ├── implicit.json
│ │ ├── implicit.out
│ │ ├── node.json
│ │ ├── node.out
│ │ ├── point_error.json
│ │ ├── point_error.out
│ │ ├── proxied_scan.json
│ │ ├── proxied_scan.out
│ │ ├── scan_error.json
│ │ └── scan_error.out
│ ├── events_mapping
│ │ ├── mapping.json
│ │ ├── mapping.out
│ │ ├── prediction.json
│ │ ├── prediction.out
│ │ └── staged_equip_response.txt
│ ├── events_pointset
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── example.json
│ │ ├── example.out
│ │ ├── fcu.json
│ │ ├── fcu.out
│ │ ├── partial.json
│ │ ├── partial.out
│ │ ├── smartprimus.json
│ │ ├── smartprimus.out
│ │ ├── writeback.json
│ │ └── writeback.out
│ ├── events_system
│ │ ├── categories.json
│ │ ├── categories.out
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── example.json
│ │ ├── example.out
│ │ ├── fcu.json
│ │ ├── fcu.out
│ │ ├── metrics.json
│ │ └── metrics.out
│ ├── events_validation
│ │ ├── simple_error.json
│ │ ├── simple_error.out
│ │ ├── simple_ok.json
│ │ └── simple_ok.out
│ ├── metadata
│ │ ├── bacmodel.json
│ │ ├── bacmodel.out
│ │ ├── bad.json
│ │ ├── bad.out
│ │ ├── direct.json
│ │ ├── direct.out
│ │ ├── discovery_metadata.json
│ │ ├── discovery_metadata.out
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── example.json
│ │ ├── example.out
│ │ ├── gateway.json
│ │ ├── gateway.out
│ │ ├── network.json
│ │ ├── network.out
│ │ ├── nosys.json
│ │ ├── nosys.out
│ │ ├── proxy.json
│ │ ├── proxy.out
│ │ ├── toomany.json
│ │ ├── toomany.out
│ │ ├── upgrade_root_tags.json
│ │ └── upgrade_root_tags.out
│ ├── model_pointset
│ │ ├── example.json
│ │ └── example.out
│ ├── site_metadata
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── example.json
│ │ └── example.out
│ ├── state
│ │ ├── blobset_received.json
│ │ ├── blobset_received.out
│ │ ├── blobset_updating.json
│ │ ├── blobset_updating.out
│ │ ├── continuous.json
│ │ ├── continuous.out
│ │ ├── delta_x1_gateway.json
│ │ ├── delta_x1_gateway.out
│ │ ├── delta_x1_target.json
│ │ ├── delta_x1_target.out
│ │ ├── direct.json
│ │ ├── direct.out
│ │ ├── discovery.json
│ │ ├── discovery.out
│ │ ├── empty.json
│ │ ├── empty.out
│ │ ├── endpoint_reconfiguration.json
│ │ ├── endpoint_reconfiguration.out
│ │ ├── endpoint_reconfiguration_failed.json
│ │ ├── endpoint_reconfiguration_failed.out
│ │ ├── enumeration.json
│ │ ├── enumeration.out
│ │ ├── errors.json
│ │ ├── errors.out
│ │ ├── example.json
│ │ ├── example.out
│ │ ├── fcu.json
│ │ ├── fcu.out
│ │ ├── gateway.json
│ │ ├── gateway.out
│ │ ├── makemodel_error.json
│ │ ├── makemodel_error.out
│ │ ├── makemodel_upgrade.json
│ │ ├── makemodel_upgrade.out
│ │ ├── networks.json
│ │ ├── networks.out
│ │ ├── periodic.json
│ │ ├── periodic.out
│ │ ├── proxy.json
│ │ ├── proxy.out
│ │ ├── restart.json
│ │ ├── restart.out
│ │ ├── scan_bad.json
│ │ ├── scan_bad.out
│ │ ├── scan_error.json
│ │ ├── scan_error.out
│ │ ├── scan_stop.json
│ │ ├── scan_stop.out
│ │ ├── upgrade_gateway_devices.json
│ │ ├── upgrade_gateway_devices.out
│ │ ├── writeback.json
│ │ └── writeback.out
│ ├── state_mapping
│ │ ├── mapping.json
│ │ └── mapping.out
│ ├── state_pointset
│ │ ├── example.json
│ │ └── example.out
│ └── state_validation
│ │ ├── report.json
│ │ ├── report.out
│ │ ├── sequencer.json
│ │ └── sequencer.out
├── sites
│ ├── basic
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ ├── AHU-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── AHU-22
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── GAT-123
│ │ │ │ ├── ec_private.pem
│ │ │ │ ├── ec_private.pkcs8
│ │ │ │ ├── ec_public.pem
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── GAT-72
│ │ │ │ ├── ec_private.pem
│ │ │ │ ├── ec_private.pkcs8
│ │ │ │ ├── ec_public.pem
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── SNS-4
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ └── SNS-8
│ │ │ │ ├── expected
│ │ │ │ ├── generated_config.json
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ ├── registration_summary.json
│ │ ├── site_defaults.json
│ │ └── site_metadata.json
│ ├── configs
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ ├── AHU-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── AHU-22
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── GAT-123
│ │ │ │ ├── config
│ │ │ │ │ └── config.json
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ └── GAT-456
│ │ │ │ ├── config
│ │ │ │ └── notjson.txt
│ │ │ │ ├── expected
│ │ │ │ ├── errors.map
│ │ │ │ ├── generated_config.json
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ ├── registration_summary.json
│ │ └── site_metadata.json
│ ├── discovery
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ └── GAT-123
│ │ │ │ ├── expected
│ │ │ │ ├── errors.map
│ │ │ │ ├── generated_config.json
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ └── registration_summary.json
│ ├── downgrade
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ ├── .dummy_bad_device
│ │ │ │ └── metadata.json
│ │ │ ├── AHU-102
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── CGW-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── CGW-12
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── CGW-350101
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── DDC-54
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── DWN-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── DWN-2
│ │ │ │ ├── expected
│ │ │ │ │ └── errors.map
│ │ │ │ └── metadata.json
│ │ │ ├── DWN-3
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── DWN-4
│ │ │ │ ├── expected
│ │ │ │ │ └── errors.map
│ │ │ │ └── metadata.json
│ │ │ └── SF-28
│ │ │ │ ├── expected
│ │ │ │ ├── generated_config.json
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ ├── registration_summary.json
│ │ ├── site_defaults.json
│ │ └── site_metadata.json
│ ├── mapping
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ └── GAT-123
│ │ │ │ ├── expected
│ │ │ │ ├── errors.map
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ ├── registration_summary.json
│ │ └── site_metadata.json
│ ├── metering
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ ├── DDC-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── EM-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── GAT-1
│ │ │ │ ├── ec_private.pem
│ │ │ │ ├── ec_private.pkcs8
│ │ │ │ ├── ec_public.pem
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── SRV-1
│ │ │ │ ├── ec_private.pem
│ │ │ │ ├── ec_private.pkcs8
│ │ │ │ ├── ec_public.pem
│ │ │ │ ├── expected
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ └── TEST-05053
│ │ │ │ ├── expected
│ │ │ │ ├── errors.map
│ │ │ │ ├── generated_config.json
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ └── registration_summary.json
│ ├── missing
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ │ ├── AHU-1
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── AHU-22
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ ├── GAT-123
│ │ │ │ ├── expected
│ │ │ │ │ ├── errors.map
│ │ │ │ │ ├── generated_config.json
│ │ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ │ └── SNS-4
│ │ │ │ ├── expected
│ │ │ │ ├── generated_config.json
│ │ │ │ └── metadata_norm.json
│ │ │ │ └── metadata.json
│ │ ├── registration_summary.json
│ │ └── site_defaults.json
│ └── supersimple
│ │ ├── cloud_iot_config.json
│ │ ├── devices
│ │ └── TPS-1
│ │ │ ├── expected
│ │ │ ├── errors.map
│ │ │ ├── generated_config.json
│ │ │ └── metadata_norm.json
│ │ │ └── metadata.json
│ │ └── registration_summary.json
└── traces
│ ├── discover
│ ├── devices
│ │ └── GAT-123
│ │ │ ├── 001_state_update.json
│ │ │ ├── 002_state_gateway.json
│ │ │ ├── 003_events_discovery.json
│ │ │ └── 004_state_system.json
│ └── expected
│ │ ├── devices
│ │ ├── AHU-1
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ ├── events_system.orig
│ │ │ └── events_system.out
│ │ ├── AHU-22
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ └── events_system.out
│ │ ├── GAT-123
│ │ │ ├── state.attr
│ │ │ ├── state.json
│ │ │ ├── state.out
│ │ │ ├── state_gateway.attr
│ │ │ ├── state_gateway.json
│ │ │ ├── state_gateway.out
│ │ │ ├── state_system.attr
│ │ │ ├── state_system.json
│ │ │ └── state_system.out
│ │ └── SNS-4
│ │ │ ├── events_discovery.attr
│ │ │ ├── events_discovery.json
│ │ │ ├── events_discovery.out
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ └── events_system.out
│ │ └── validation_report.json
│ ├── lengthy
│ ├── devices
│ │ └── AHU-1
│ │ │ ├── 001_events_pointset.json
│ │ │ ├── 002_events_pointset.json
│ │ │ └── 003_events_pointset.json
│ └── expected
│ │ ├── devices
│ │ └── AHU-1
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ └── events_system.out
│ │ └── validation_report.json
│ ├── simple
│ ├── devices
│ │ ├── AHU-1
│ │ │ ├── 001_events_pointset.json
│ │ │ ├── 002_events_system.json
│ │ │ └── 003_events_pointset.json
│ │ ├── AHU-22
│ │ │ ├── 001_events_pointset.json
│ │ │ ├── 002_events_pointset.json
│ │ │ ├── 003_events_system.json
│ │ │ └── 004_events_pointset.json
│ │ ├── GAT-123
│ │ │ ├── 001_state_update.json
│ │ │ ├── 002_state_gateway.json
│ │ │ ├── 004_state_system.json
│ │ │ └── 005_reply_update.json
│ │ └── SNS-4
│ │ │ ├── 001_events_pointset.json
│ │ │ ├── 002_events_discovery.json
│ │ │ └── 003_events_system.json
│ └── expected
│ │ ├── devices
│ │ ├── AHU-1
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ ├── events_system.orig
│ │ │ └── events_system.out
│ │ ├── AHU-22
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ └── events_system.out
│ │ ├── GAT-123
│ │ │ ├── state.attr
│ │ │ ├── state.json
│ │ │ ├── state.out
│ │ │ ├── state_gateway.attr
│ │ │ ├── state_gateway.json
│ │ │ ├── state_gateway.out
│ │ │ ├── state_system.attr
│ │ │ ├── state_system.json
│ │ │ └── state_system.out
│ │ └── SNS-4
│ │ │ ├── events_discovery.attr
│ │ │ ├── events_discovery.json
│ │ │ ├── events_discovery.out
│ │ │ ├── events_pointset.attr
│ │ │ ├── events_pointset.json
│ │ │ ├── events_pointset.out
│ │ │ ├── events_system.attr
│ │ │ ├── events_system.json
│ │ │ └── events_system.out
│ │ └── validation_report.json
│ ├── supersimple
│ ├── devices
│ │ └── TPS-1
│ │ │ └── 001_events_pointset.json
│ └── expected
│ │ ├── devices
│ │ └── TPS-1
│ │ │ └── events_pointset.out
│ │ └── validation_report.json
│ └── upgrade
│ ├── devices
│ ├── AHU-1
│ │ ├── 001_state_update.json
│ │ └── 002_state_system.json
│ ├── AHU-22
│ │ └── 001_state_update.json
│ ├── NON-1
│ │ └── 001_state_update.json
│ ├── NON-2
│ │ └── 001_state_update.json
│ └── SNS-4
│ │ └── 001_state_update.json
│ └── expected
│ ├── devices
│ ├── AHU-1
│ │ ├── state.attr
│ │ ├── state.json
│ │ ├── state.orig
│ │ ├── state.out
│ │ ├── state_system.attr
│ │ ├── state_system.json
│ │ └── state_system.out
│ ├── AHU-22
│ │ ├── state.attr
│ │ ├── state.json
│ │ ├── state.orig
│ │ └── state.out
│ ├── NON-1
│ │ ├── state.attr
│ │ ├── state.json
│ │ ├── state.orig
│ │ └── state.out
│ ├── NON-2
│ │ ├── state.attr
│ │ ├── state.json
│ │ └── state.out
│ └── SNS-4
│ │ ├── state.attr
│ │ ├── state.json
│ │ ├── state.orig
│ │ └── state.out
│ └── validation_report.json
├── udmis
├── .gitignore
├── .idea
│ ├── checkstyle-idea.xml
│ ├── codeStyles
│ │ ├── Project.xml
│ │ └── codeStyleConfig.xml
│ ├── compiler.xml
│ ├── docs.iml
│ ├── encodings.xml
│ ├── gradle.xml
│ ├── inspectionProfiles
│ │ └── Project_Default.xml
│ ├── jarRepositories.xml
│ ├── libraries-with-intellij-classes.xml
│ ├── libraries
│ │ ├── Gradle__com_fasterxml_jackson_core_jackson_annotations_2_12_4.xml
│ │ ├── Gradle__com_fasterxml_jackson_core_jackson_core_2_12_4.xml
│ │ ├── Gradle__com_fasterxml_jackson_core_jackson_databind_2_12_4.xml
│ │ ├── Gradle__com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_12_4.xml
│ │ ├── Gradle__com_google_api_grpc_grpc_google_cloud_pubsub_v1_1_48_0.xml
│ │ ├── Gradle__com_google_api_grpc_proto_google_cloud_pubsub_v1_1_48_0.xml
│ │ ├── Gradle__com_google_cloud_google_cloud_pubsub_1_66_0.xml
│ │ ├── Gradle__com_google_code_findbugs_jsr305_3_0_2.xml
│ │ ├── Gradle__com_google_guava_failureaccess_1_0_1.xml
│ │ ├── Gradle__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml
│ │ ├── Gradle__com_google_j2objc_j2objc_annotations_1_3.xml
│ │ ├── Gradle__commons_io_commons_io_2_5.xml
│ │ ├── Gradle__javax_annotation_javax_annotation_api_1_3_2.xml
│ │ ├── Gradle__org_apiguardian_apiguardian_api_1_1_2.xml
│ │ ├── Gradle__org_hamcrest_hamcrest_core_1_3.xml
│ │ ├── Gradle__org_jetbrains_annotations_20_1_0.xml
│ │ ├── Gradle__org_opentest4j_opentest4j_1_2_0.xml
│ │ └── Gradle__org_yaml_snakeyaml_1_27.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── runConfigurations
│ │ ├── BaselineValidator.xml
│ │ ├── ClearBladeIotAccessProvider.xml
│ │ ├── UDMIS_Remote.xml
│ │ ├── UdmiServicePod_Dev.xml
│ │ ├── UdmiServicePod_Local.xml
│ │ ├── Validator_Remote.xml
│ │ ├── WritebackSequences_writeback_states.xml
│ │ ├── _template__of_Application.xml
│ │ └── _template__of_JUnit.xml
│ ├── schema.iml
│ ├── uiDesigner.xml
│ └── vcs.xml
├── Dockerfile.udmis
├── README.md
├── bin
│ ├── actualize
│ ├── build
│ ├── etcdctl
│ ├── monitoring
│ ├── pod_logs
│ ├── run
│ └── update
├── build.gradle
├── etc
│ ├── dev_pod.json
│ ├── k8s_account.yaml
│ ├── k8s_broker.yaml
│ ├── k8s_config.yaml
│ ├── k8s_etcd.yaml
│ ├── k8s_udmis.yaml
│ ├── local_pod.json
│ ├── peringknife~k8s_config.yaml
│ └── prod_pod.json
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── settings.gradle
├── src
│ ├── .idea
│ │ └── src.iml
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── google
│ │ │ │ └── bos
│ │ │ │ └── udmi
│ │ │ │ ├── monitoring
│ │ │ │ ├── LogTail.java
│ │ │ │ ├── LogTailBase.java
│ │ │ │ ├── LogTailEntry.java
│ │ │ │ ├── LogTailJsonOutput.java
│ │ │ │ ├── LogTailOutput.java
│ │ │ │ └── LogTimeSeries.java
│ │ │ │ └── service
│ │ │ │ ├── access
│ │ │ │ ├── ClearBladeIotAccessProvider.java
│ │ │ │ ├── DynamicIotAccessProvider.java
│ │ │ │ ├── ImplicitIotAccessProvider.java
│ │ │ │ ├── IotAccessBase.java
│ │ │ │ ├── IotAccessProvider.java
│ │ │ │ ├── LocalIotAccessProvider.java
│ │ │ │ ├── ProfilingProxy.java
│ │ │ │ └── PubSubIotAccessProvider.java
│ │ │ │ ├── core
│ │ │ │ ├── BitboxAdapter.java
│ │ │ │ ├── BridgeProcessor.java
│ │ │ │ ├── CloudQueryHandler.java
│ │ │ │ ├── ComponentName.java
│ │ │ │ ├── ComponentProvider.java
│ │ │ │ ├── ControlProcessor.java
│ │ │ │ ├── CronProcessor.java
│ │ │ │ ├── DistributorPipe.java
│ │ │ │ ├── MessageHandler.java
│ │ │ │ ├── ProcessorBase.java
│ │ │ │ ├── ProvisioningEngine.java
│ │ │ │ ├── ReflectProcessor.java
│ │ │ │ ├── StateProcessor.java
│ │ │ │ └── TargetProcessor.java
│ │ │ │ ├── messaging
│ │ │ │ ├── ConfigUpdate.java
│ │ │ │ ├── MessageContinuation.java
│ │ │ │ ├── MessageDispatcher.java
│ │ │ │ ├── MessagePipe.java
│ │ │ │ ├── ModelUpdate.java
│ │ │ │ ├── SiteMetadataUpdate.java
│ │ │ │ ├── StateUpdate.java
│ │ │ │ └── impl
│ │ │ │ │ ├── DirectoryTraverser.java
│ │ │ │ │ ├── FileMessagePipe.java
│ │ │ │ │ ├── LocalMessagePipe.java
│ │ │ │ │ ├── MessageBase.java
│ │ │ │ │ ├── MessageDispatcherImpl.java
│ │ │ │ │ ├── PubSubPipe.java
│ │ │ │ │ ├── SimpleMqttPipe.java
│ │ │ │ │ └── TraceMessagePipe.java
│ │ │ │ ├── pod
│ │ │ │ ├── ContainerBase.java
│ │ │ │ ├── SimpleHandler.java
│ │ │ │ ├── UdmiComponent.java
│ │ │ │ └── UdmiServicePod.java
│ │ │ │ └── support
│ │ │ │ ├── ConnectionBroker.java
│ │ │ │ ├── DataRef.java
│ │ │ │ ├── EtcdDataProvider.java
│ │ │ │ ├── IotDataProvider.java
│ │ │ │ └── MosquittoBroker.java
│ │ └── main.iml
│ └── test
│ │ ├── configs
│ │ ├── base_pod.json
│ │ ├── bridge_pod.json
│ │ ├── clearblade_pod.json
│ │ ├── dynamic_pod.json
│ │ ├── gcp_pod.json
│ │ ├── localnet.json
│ │ └── trace_pod.json
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── bos
│ │ │ └── udmi
│ │ │ ├── monitoring
│ │ │ └── LogTailTest.java
│ │ │ └── service
│ │ │ ├── access
│ │ │ ├── ClearBladeIotAccessProviderTest.java
│ │ │ └── IotAccessBaseTest.java
│ │ │ ├── core
│ │ │ ├── BitboxAdapterTest.java
│ │ │ ├── BridgeProcessorTest.java
│ │ │ ├── CloudQueryHandlerTest.java
│ │ │ ├── ProcessorTestBase.java
│ │ │ ├── ProvisioningEngineTest.java
│ │ │ ├── ReflectProcessorTest.java
│ │ │ ├── StateProcessorTest.java
│ │ │ └── TargetProcessorTest.java
│ │ │ ├── messaging
│ │ │ └── impl
│ │ │ │ ├── FileMessagePipeTest.java
│ │ │ │ ├── LocalMessagePipeTest.java
│ │ │ │ ├── MessageDispatcherImplTest.java
│ │ │ │ ├── MessagePipeTestBase.java
│ │ │ │ ├── MessageTestBase.java
│ │ │ │ ├── MessageTestCore.java
│ │ │ │ ├── PubSubPipeTest.java
│ │ │ │ ├── SimpleMqttPipeTest.java
│ │ │ │ └── TraceMessagePipeTest.java
│ │ │ └── pod
│ │ │ ├── ContainerBaseTest.java
│ │ │ └── UdmiServicePodTest.java
│ │ ├── messages
│ │ ├── bitbox_discovery.json
│ │ └── legacy_state.json
│ │ └── test.iml
├── traces
│ └── legacy-discovery
│ │ ├── 2023-04-21T15
│ │ └── 30
│ │ │ ├── 2023-04-15T10x30x07.639Z_7433161289605221.json
│ │ │ ├── 2023-04-15T10x30x08.335Z_7433164294754843.json
│ │ │ ├── 2023-04-15T10x30x08.449Z_7433156993819165.json
│ │ │ ├── 2023-04-15T10x30x09.229Z_7433164294753347.json
│ │ │ ├── 2023-04-15T10x30x09.343Z_7433160574515384.json
│ │ │ ├── 2023-04-15T10x30x10.140Z_7433134008802290.json
│ │ │ ├── 2023-04-15T10x30x10.256Z_7433157618033170.json
│ │ │ ├── 2023-04-15T10x30x11.070Z_7433120306262818.json
│ │ │ ├── 2023-04-15T10x30x11.182Z_7433136545071999.json
│ │ │ ├── 2023-04-15T10x30x11.976Z_7433165260609985.json
│ │ │ ├── 2023-04-15T10x30x12.089Z_7433150411453159.json
│ │ │ ├── 2023-04-15T10x30x12.894Z_7433120306259508.json
│ │ │ ├── 2023-04-15T10x30x13.008Z_7433119275043366.json
│ │ │ ├── 2023-04-15T10x30x13.799Z_7433156187195402.json
│ │ │ ├── 2023-04-15T10x30x13.914Z_7433170829490014.json
│ │ │ ├── 2023-04-15T10x30x14.723Z_7433157618024779.json
│ │ │ ├── 2023-04-15T10x30x14.833Z_7433138059236973.json
│ │ │ ├── 2023-04-15T10x30x15.605Z_7433161289586675.json
│ │ │ ├── 2023-04-15T10x30x15.719Z_7433137689201943.json
│ │ │ ├── 2023-04-15T10x30x16.523Z_7433160552426155.json
│ │ │ ├── 2023-04-15T10x30x16.640Z_7433137299515713.json
│ │ │ ├── 2023-04-15T10x30x17.450Z_7433161491213028.json
│ │ │ ├── 2023-04-15T10x30x17.567Z_7433139957948815.json
│ │ │ ├── 2023-04-15T10x30x18.350Z_7433157618017140.json
│ │ │ ├── 2023-04-15T10x30x18.466Z_7433160681462038.json
│ │ │ ├── 2023-04-15T10x30x19.258Z_7433136653249560.json
│ │ │ ├── 2023-04-15T10x30x19.373Z_7433099756842277.json
│ │ │ ├── 2023-04-15T10x30x20.207Z_7433171060424282.json
│ │ │ ├── 2023-04-15T10x30x20.316Z_7433137393152264.json
│ │ │ ├── 2023-04-15T10x30x21.124Z_7433120306241397.json
│ │ │ ├── 2023-04-15T10x30x21.233Z_7433165260590481.json
│ │ │ ├── 2023-04-15T10x30x22.055Z_7433164365905662.json
│ │ │ ├── 2023-04-15T10x30x22.171Z_7433166092180158.json
│ │ │ ├── 2023-04-15T10x30x22.980Z_7433099756836438.json
│ │ │ ├── 2023-04-15T10x30x23.079Z_7433156763533735.json
│ │ │ ├── 2023-04-15T10x30x23.887Z_7433160552411655.json
│ │ │ └── 2023-04-15T10x30x24.007Z_7433194454817151.json
│ │ └── 2023-04-21T18
│ │ └── 32
│ │ ├── 2023-04-21T18x32x00.369Z_7489680220264224.json
│ │ ├── 2023-04-21T18x32x03.282Z_7489728031267727.json
│ │ ├── 2023-04-21T18x32x04.405Z_7489692515438159.json
│ │ ├── 2023-04-21T18x32x05.340Z_7489689740895435.json
│ │ ├── 2023-04-21T18x32x06.269Z_7489648276784900.json
│ │ ├── 2023-04-21T18x32x07.413Z_7489688824580088.json
│ │ ├── 2023-04-21T18x32x08.431Z_7489711968570199.json
│ │ ├── 2023-04-21T18x32x09.391Z_7489693841548066.json
│ │ ├── 2023-04-21T18x32x10.414Z_7489731824596615.json
│ │ ├── 2023-04-21T18x32x12.768Z_7489633191663032.json
│ │ ├── 2023-04-21T18x32x13.668Z_7489644526486357.json
│ │ ├── 2023-04-21T18x32x14.725Z_7489625611021474.json
│ │ ├── 2023-04-21T18x32x16.694Z_7489704024147961.json
│ │ ├── 2023-04-21T18x32x17.738Z_7489685532306057.json
│ │ ├── 2023-04-21T18x32x18.707Z_7489669930864342.json
│ │ ├── 2023-04-21T18x32x19.717Z_7489719705098610.json
│ │ ├── 2023-04-21T18x32x20.758Z_7489699801885198.json
│ │ ├── 2023-04-21T18x32x21.557Z_7489700545696454.json
│ │ ├── 2023-04-21T18x32x22.552Z_7489731168062630.json
│ │ ├── 2023-04-21T18x32x23.779Z_7489728118782719.json
│ │ ├── 2023-04-21T18x32x24.586Z_7489633321991546.json
│ │ ├── 2023-04-21T18x32x25.571Z_7489719705085004.json
│ │ ├── 2023-04-21T18x32x26.763Z_7489665415307183.json
│ │ ├── 2023-04-21T18x32x27.709Z_7489728280103935.json
│ │ ├── 2023-04-21T18x32x28.736Z_7489737726278277.json
│ │ ├── 2023-04-21T18x32x29.778Z_7489726891920941.json
│ │ ├── 2023-04-21T18x32x30.782Z_7489693841508604.json
│ │ ├── 2023-04-21T18x32x31.569Z_7489728690345958.json
│ │ ├── 2023-04-21T18x32x32.714Z_7489669001787830.json
│ │ ├── 2023-04-21T18x32x33.751Z_7489707765176237.json
│ │ ├── 2023-04-21T18x32x34.781Z_7489727288080428.json
│ │ ├── 2023-04-21T18x32x36.101Z_7489732504745179.json
│ │ ├── 2023-04-21T18x32x37.091Z_7489713179952616.json
│ │ ├── 2023-04-21T18x32x38.147Z_7489704856328651.json
│ │ ├── 2023-04-21T18x32x39.125Z_7489748802939172.json
│ │ ├── 2023-04-21T18x32x40.167Z_7489633390772167.json
│ │ ├── 2023-04-21T18x32x41.153Z_7489719705046159.json
│ │ ├── 2023-04-21T18x32x42.179Z_7489675368007040.json
│ │ ├── 2023-04-21T18x32x43.131Z_7489656359709867.json
│ │ ├── 2023-04-21T18x32x45.148Z_7489684567215519.json
│ │ ├── 2023-04-21T18x32x48.846Z_7489739890239967.json
│ │ ├── 2023-04-21T18x32x49.806Z_7489720161418872.json
│ │ ├── 2023-04-21T18x32x50.564Z_7489708868907272.json
│ │ ├── 2023-04-21T18x32x51.856Z_7489727073998087.json
│ │ ├── 2023-04-21T18x32x52.789Z_7489700097690043.json
│ │ ├── 2023-04-21T18x32x53.794Z_7489740137257112.json
│ │ ├── 2023-04-21T18x32x54.827Z_7489728031323931.json
│ │ ├── 2023-04-21T18x32x55.150Z_7489731412982774.json
│ │ ├── 2023-04-21T18x32x56.113Z_7489726779776686.json
│ │ ├── 2023-04-21T18x32x57.827Z_7489749438299147.json
│ │ ├── 2023-04-21T18x32x58.808Z_7489732869733836.json
│ │ └── 2023-04-21T18x32x58.817Z_7489648276910338.json
└── udmis.iml
└── validator
├── .idea
├── checkstyle-idea.xml
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── compiler.xml
├── docs.iml
├── encodings.xml
├── gradle.xml
├── inspectionProfiles
│ └── Project_Default.xml
├── jarRepositories.xml
├── libraries-with-intellij-classes.xml
├── misc.xml
├── modules.xml
├── runConfigurations
│ ├── BaselineValidator.xml
│ ├── MappingAgent_Discover.xml
│ ├── MappingAgent_Reconcile.xml
│ ├── Reflector.xml
│ ├── Reflector_Config.xml
│ ├── Registrar_config_SNS_8.xml
│ ├── Registrar_create.xml
│ ├── Registrar_missing.xml
│ ├── Registrar_site_model.xml
│ ├── Registrar_warning.xml
│ ├── Schema_Tester.xml
│ ├── SequenceRunner.xml
│ ├── Test_Trace_Simple.xml
│ ├── Validator_Capture.xml
│ ├── Validator_Remote.xml
│ ├── Validator_config.xml
│ ├── Validator_test_trace_simple.xml
│ ├── WritebackSequences_writeback_states.xml
│ ├── _template__of_Application.xml
│ └── _template__of_JUnit.xml
├── schema.iml
├── uiDesigner.xml
└── vcs.xml
├── Dockerfile.delta
├── Dockerfile.validator
├── bin
├── automate
├── build
├── config
├── gitwrap
├── mapping
├── reflector
├── registrar
└── swarm
├── build.gradle
├── etc
├── k8s_tools.yaml
├── source_repo_trigger.json
└── sshconfig
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── sequences
├── bad_point_ref
│ ├── device_system.log
│ ├── sequence.log
│ └── sequence.md
├── bad_target_address
│ ├── device_system.log
│ ├── sequence.log
│ └── sequence.md
├── bad_target_family
│ ├── device_system.log
│ ├── sequence.log
│ └── sequence.md
├── broken_config
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── config_logging
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── device_config_acked
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── endpoint_connection_bad_alternate
│ ├── config_blobset.attr
│ ├── config_blobset.json
│ ├── config_discovery.attr
│ ├── config_discovery.json
│ ├── config_localnet.attr
│ ├── config_localnet.json
│ ├── config_pointset.attr
│ ├── config_pointset.json
│ ├── config_system.attr
│ ├── config_system.json
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ ├── state_update.json
│ ├── state_validation.attr
│ ├── state_validation.json
│ ├── stray
│ │ ├── config_update_2025-06-10T17:07:11Z.attr
│ │ ├── config_update_2025-06-10T17:07:11Z.json
│ │ ├── config_update_2025-06-10T17:07:59Z.attr
│ │ ├── config_update_2025-06-10T17:07:59Z.json
│ │ ├── config_update_2025-06-10T17:08:01Z.attr
│ │ ├── config_update_2025-06-10T17:08:01Z.json
│ │ ├── config_update_2025-06-10T17:08:29Z.attr
│ │ ├── config_update_2025-06-10T17:08:29Z.json
│ │ ├── config_update_2025-06-10T17:08:32Z.attr
│ │ ├── config_update_2025-06-10T17:08:32Z.json
│ │ ├── events_system_2025-06-10T17:08:03Z.attr
│ │ ├── events_system_2025-06-10T17:08:03Z.json
│ │ ├── events_system_2025-06-10T17:08:08Z.attr
│ │ ├── events_system_2025-06-10T17:08:08Z.json
│ │ ├── state_blobset_2025-06-10T17:07:58Z.attr
│ │ ├── state_blobset_2025-06-10T17:07:58Z.json
│ │ ├── state_blobset_2025-06-10T17:08:00Z.attr
│ │ ├── state_blobset_2025-06-10T17:08:00Z.json
│ │ ├── state_discovery_2025-06-10T17:07:58Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:58Z.json
│ │ ├── state_localnet_2025-06-10T17:07:58Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:58Z.json
│ │ ├── state_pointset_2025-06-10T17:07:06Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:06Z.json
│ │ ├── state_pointset_2025-06-10T17:07:58Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:58Z.json
│ │ ├── state_system_2025-06-10T17:07:58Z.attr
│ │ ├── state_system_2025-06-10T17:07:58Z.json
│ │ ├── state_system_2025-06-10T17:08:00Z.attr
│ │ ├── state_system_2025-06-10T17:08:00Z.json
│ │ ├── state_system_2025-06-10T17:08:03Z.attr
│ │ ├── state_system_2025-06-10T17:08:03Z.json
│ │ ├── state_update_2025-06-10T17:08:00Z.attr
│ │ ├── state_update_2025-06-10T17:08:00Z.bad
│ │ ├── state_update_2025-06-10T17:08:00Z.json
│ │ ├── state_update_2025-06-10T17:08:03Z.attr
│ │ └── state_update_2025-06-10T17:08:03Z.json
│ └── trace
│ │ ├── config_blobset_2025-06-10T17:07:30Z.attr
│ │ ├── config_blobset_2025-06-10T17:07:30Z.json
│ │ ├── config_blobset_2025-06-10T17:08:11Z.attr
│ │ ├── config_blobset_2025-06-10T17:08:11Z.json
│ │ ├── config_blobset_2025-06-10T17:08:33Z.attr
│ │ ├── config_blobset_2025-06-10T17:08:33Z.json
│ │ ├── config_discovery_2025-06-10T17:07:23Z.attr
│ │ ├── config_discovery_2025-06-10T17:07:23Z.json
│ │ ├── config_localnet_2025-06-10T17:07:26Z.attr
│ │ ├── config_localnet_2025-06-10T17:07:26Z.json
│ │ ├── config_pointset_2025-06-10T17:07:24Z.attr
│ │ ├── config_pointset_2025-06-10T17:07:24Z.json
│ │ ├── config_system_2025-06-10T17:07:25Z.attr
│ │ ├── config_system_2025-06-10T17:07:25Z.json
│ │ ├── config_update_2025-06-10T17:07:04Z.attr
│ │ ├── config_update_2025-06-10T17:07:04Z.json
│ │ ├── config_update_2025-06-10T17:07:06Z.json
│ │ ├── config_update_2025-06-10T17:07:08Z.attr
│ │ ├── config_update_2025-06-10T17:07:08Z.json
│ │ ├── config_update_2025-06-10T17:07:09Z.json
│ │ ├── config_update_2025-06-10T17:07:11Z.attr
│ │ ├── config_update_2025-06-10T17:07:11Z.json
│ │ ├── config_update_2025-06-10T17:07:12Z.attr
│ │ ├── config_update_2025-06-10T17:07:12Z.json
│ │ ├── config_update_2025-06-10T17:07:14Z.json
│ │ ├── config_update_2025-06-10T17:07:16Z.attr
│ │ ├── config_update_2025-06-10T17:07:16Z.json
│ │ ├── config_update_2025-06-10T17:07:17Z.attr
│ │ ├── config_update_2025-06-10T17:07:17Z.json
│ │ ├── config_update_2025-06-10T17:07:20Z.json
│ │ ├── config_update_2025-06-10T17:07:22Z.attr
│ │ ├── config_update_2025-06-10T17:07:22Z.json
│ │ ├── config_update_2025-06-10T17:07:23Z.attr
│ │ ├── config_update_2025-06-10T17:07:23Z.json
│ │ ├── config_update_2025-06-10T17:07:24Z.attr
│ │ ├── config_update_2025-06-10T17:07:24Z.json
│ │ ├── config_update_2025-06-10T17:07:25Z.attr
│ │ ├── config_update_2025-06-10T17:07:25Z.json
│ │ ├── config_update_2025-06-10T17:07:27Z.json
│ │ ├── config_update_2025-06-10T17:07:29Z.attr
│ │ ├── config_update_2025-06-10T17:07:29Z.json
│ │ ├── config_update_2025-06-10T17:07:32Z.json
│ │ ├── config_update_2025-06-10T17:07:58Z.attr
│ │ ├── config_update_2025-06-10T17:07:58Z.json
│ │ ├── config_update_2025-06-10T17:07:59Z.json
│ │ ├── config_update_2025-06-10T17:08:01Z.attr
│ │ ├── config_update_2025-06-10T17:08:01Z.json
│ │ ├── config_update_2025-06-10T17:08:10Z.attr
│ │ ├── config_update_2025-06-10T17:08:10Z.json
│ │ ├── config_update_2025-06-10T17:08:13Z.json
│ │ ├── config_update_2025-06-10T17:08:30Z.json
│ │ ├── config_update_2025-06-10T17:08:32Z.attr
│ │ ├── config_update_2025-06-10T17:08:32Z.json
│ │ ├── config_update_2025-06-10T17:08:35Z.json
│ │ ├── events_pointset_2025-06-10T17:06:59Z.attr
│ │ ├── events_pointset_2025-06-10T17:06:59Z.json
│ │ ├── events_pointset_2025-06-10T17:07:04Z.attr
│ │ ├── events_pointset_2025-06-10T17:07:04Z.json
│ │ ├── events_pointset_2025-06-10T17:07:14Z.attr
│ │ ├── events_pointset_2025-06-10T17:07:14Z.json
│ │ ├── events_pointset_2025-06-10T17:07:24Z.attr
│ │ ├── events_pointset_2025-06-10T17:07:24Z.json
│ │ ├── events_pointset_2025-06-10T17:07:34Z.attr
│ │ ├── events_pointset_2025-06-10T17:07:34Z.json
│ │ ├── events_system_2025-06-10T17:06:59Z.attr
│ │ ├── events_system_2025-06-10T17:06:59Z.json
│ │ ├── events_system_2025-06-10T17:07:04Z.attr
│ │ ├── events_system_2025-06-10T17:07:04Z.json
│ │ ├── events_system_2025-06-10T17:07:14Z.attr
│ │ ├── events_system_2025-06-10T17:07:14Z.json
│ │ ├── events_system_2025-06-10T17:07:24Z.attr
│ │ ├── events_system_2025-06-10T17:07:24Z.json
│ │ ├── events_system_2025-06-10T17:07:34Z.attr
│ │ ├── events_system_2025-06-10T17:07:34Z.json
│ │ ├── events_system_2025-06-10T17:08:33Z.attr
│ │ ├── events_system_2025-06-10T17:08:33Z.json
│ │ ├── local_blobset_2025-06-10T17:07:29Z.json
│ │ ├── local_blobset_2025-06-10T17:08:10Z.json
│ │ ├── local_blobset_2025-06-10T17:08:32Z.json
│ │ ├── local_discovery_2025-06-10T17:07:22Z.json
│ │ ├── local_localnet_2025-06-10T17:07:22Z.json
│ │ ├── local_pointset_2025-06-10T17:07:22Z.json
│ │ ├── local_system_2025-06-10T17:07:22Z.json
│ │ ├── local_update_2025-06-10T17:07:04Z.json
│ │ ├── local_update_2025-06-10T17:07:08Z.json
│ │ ├── local_update_2025-06-10T17:07:11Z.json
│ │ ├── local_update_2025-06-10T17:07:16Z.json
│ │ ├── state_blobset_2025-06-10T17:07:34Z.attr
│ │ ├── state_blobset_2025-06-10T17:07:34Z.json
│ │ ├── state_blobset_2025-06-10T17:08:18Z.attr
│ │ ├── state_blobset_2025-06-10T17:08:18Z.json
│ │ ├── state_blobset_2025-06-10T17:08:28Z.attr
│ │ ├── state_blobset_2025-06-10T17:08:28Z.json
│ │ ├── state_blobset_2025-06-10T17:08:32Z.attr
│ │ ├── state_blobset_2025-06-10T17:08:32Z.json
│ │ ├── state_discovery_2025-06-10T17:07:04Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:04Z.json
│ │ ├── state_discovery_2025-06-10T17:07:06Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:06Z.json
│ │ ├── state_discovery_2025-06-10T17:07:11Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:11Z.json
│ │ ├── state_discovery_2025-06-10T17:07:13Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:13Z.json
│ │ ├── state_discovery_2025-06-10T17:07:17Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:17Z.json
│ │ ├── state_discovery_2025-06-10T17:07:19Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:19Z.json
│ │ ├── state_discovery_2025-06-10T17:07:22Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:22Z.json
│ │ ├── state_discovery_2025-06-10T17:07:24Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:24Z.json
│ │ ├── state_discovery_2025-06-10T17:07:26Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:26Z.json
│ │ ├── state_discovery_2025-06-10T17:07:29Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:29Z.json
│ │ ├── state_discovery_2025-06-10T17:07:31Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:31Z.json
│ │ ├── state_discovery_2025-06-10T17:07:34Z.attr
│ │ ├── state_discovery_2025-06-10T17:07:34Z.json
│ │ ├── state_localnet_2025-06-10T17:07:04Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:04Z.json
│ │ ├── state_localnet_2025-06-10T17:07:06Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:06Z.json
│ │ ├── state_localnet_2025-06-10T17:07:11Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:11Z.json
│ │ ├── state_localnet_2025-06-10T17:07:13Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:13Z.json
│ │ ├── state_localnet_2025-06-10T17:07:17Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:17Z.json
│ │ ├── state_localnet_2025-06-10T17:07:19Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:19Z.json
│ │ ├── state_localnet_2025-06-10T17:07:22Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:22Z.json
│ │ ├── state_localnet_2025-06-10T17:07:24Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:24Z.json
│ │ ├── state_localnet_2025-06-10T17:07:26Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:26Z.json
│ │ ├── state_localnet_2025-06-10T17:07:29Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:29Z.json
│ │ ├── state_localnet_2025-06-10T17:07:31Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:31Z.json
│ │ ├── state_localnet_2025-06-10T17:07:34Z.attr
│ │ ├── state_localnet_2025-06-10T17:07:34Z.json
│ │ ├── state_pointset_2025-06-10T17:07:04Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:04Z.json
│ │ ├── state_pointset_2025-06-10T17:07:11Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:11Z.json
│ │ ├── state_pointset_2025-06-10T17:07:13Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:13Z.json
│ │ ├── state_pointset_2025-06-10T17:07:17Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:17Z.json
│ │ ├── state_pointset_2025-06-10T17:07:19Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:19Z.json
│ │ ├── state_pointset_2025-06-10T17:07:22Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:22Z.json
│ │ ├── state_pointset_2025-06-10T17:07:24Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:24Z.json
│ │ ├── state_pointset_2025-06-10T17:07:26Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:26Z.json
│ │ ├── state_pointset_2025-06-10T17:07:29Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:29Z.json
│ │ ├── state_pointset_2025-06-10T17:07:31Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:31Z.json
│ │ ├── state_pointset_2025-06-10T17:07:34Z.attr
│ │ ├── state_pointset_2025-06-10T17:07:34Z.json
│ │ ├── state_system_2025-06-10T17:07:04Z.attr
│ │ ├── state_system_2025-06-10T17:07:04Z.json
│ │ ├── state_system_2025-06-10T17:07:06Z.attr
│ │ ├── state_system_2025-06-10T17:07:06Z.json
│ │ ├── state_system_2025-06-10T17:07:11Z.attr
│ │ ├── state_system_2025-06-10T17:07:11Z.json
│ │ ├── state_system_2025-06-10T17:07:13Z.attr
│ │ ├── state_system_2025-06-10T17:07:13Z.json
│ │ ├── state_system_2025-06-10T17:07:17Z.attr
│ │ ├── state_system_2025-06-10T17:07:17Z.json
│ │ ├── state_system_2025-06-10T17:07:19Z.attr
│ │ ├── state_system_2025-06-10T17:07:19Z.json
│ │ ├── state_system_2025-06-10T17:07:22Z.attr
│ │ ├── state_system_2025-06-10T17:07:22Z.json
│ │ ├── state_system_2025-06-10T17:07:24Z.attr
│ │ ├── state_system_2025-06-10T17:07:24Z.json
│ │ ├── state_system_2025-06-10T17:07:26Z.attr
│ │ ├── state_system_2025-06-10T17:07:26Z.json
│ │ ├── state_system_2025-06-10T17:07:29Z.attr
│ │ ├── state_system_2025-06-10T17:07:29Z.json
│ │ ├── state_system_2025-06-10T17:07:31Z.attr
│ │ ├── state_system_2025-06-10T17:07:31Z.json
│ │ ├── state_system_2025-06-10T17:07:34Z.attr
│ │ ├── state_system_2025-06-10T17:07:34Z.json
│ │ ├── state_system_2025-06-10T17:08:10Z.attr
│ │ ├── state_system_2025-06-10T17:08:10Z.json
│ │ ├── state_system_2025-06-10T17:08:12Z.attr
│ │ ├── state_system_2025-06-10T17:08:12Z.json
│ │ ├── state_system_2025-06-10T17:08:18Z.attr
│ │ ├── state_system_2025-06-10T17:08:18Z.json
│ │ ├── state_system_2025-06-10T17:08:28Z.attr
│ │ ├── state_system_2025-06-10T17:08:28Z.json
│ │ ├── state_system_2025-06-10T17:08:32Z.attr
│ │ ├── state_system_2025-06-10T17:08:32Z.json
│ │ ├── state_update_2025-06-10T17:07:04Z.attr
│ │ ├── state_update_2025-06-10T17:07:04Z.json
│ │ ├── state_update_2025-06-10T17:07:06Z.attr
│ │ ├── state_update_2025-06-10T17:07:06Z.json
│ │ ├── state_update_2025-06-10T17:07:11Z.attr
│ │ ├── state_update_2025-06-10T17:07:11Z.json
│ │ ├── state_update_2025-06-10T17:07:13Z.attr
│ │ ├── state_update_2025-06-10T17:07:13Z.json
│ │ ├── state_update_2025-06-10T17:07:17Z.attr
│ │ ├── state_update_2025-06-10T17:07:17Z.json
│ │ ├── state_update_2025-06-10T17:07:19Z.attr
│ │ ├── state_update_2025-06-10T17:07:19Z.json
│ │ ├── state_update_2025-06-10T17:07:22Z.attr
│ │ ├── state_update_2025-06-10T17:07:22Z.json
│ │ ├── state_update_2025-06-10T17:07:24Z.attr
│ │ ├── state_update_2025-06-10T17:07:24Z.json
│ │ ├── state_update_2025-06-10T17:07:26Z.attr
│ │ ├── state_update_2025-06-10T17:07:26Z.json
│ │ ├── state_update_2025-06-10T17:07:29Z.attr
│ │ ├── state_update_2025-06-10T17:07:29Z.json
│ │ ├── state_update_2025-06-10T17:07:31Z.attr
│ │ ├── state_update_2025-06-10T17:07:31Z.json
│ │ ├── state_update_2025-06-10T17:07:34Z.attr
│ │ ├── state_update_2025-06-10T17:07:34Z.json
│ │ ├── state_update_2025-06-10T17:07:58Z.attr
│ │ ├── state_update_2025-06-10T17:07:58Z.json
│ │ ├── state_update_2025-06-10T17:08:10Z.attr
│ │ ├── state_update_2025-06-10T17:08:10Z.json
│ │ ├── state_update_2025-06-10T17:08:12Z.attr
│ │ ├── state_update_2025-06-10T17:08:12Z.json
│ │ ├── state_update_2025-06-10T17:08:18Z.attr
│ │ ├── state_update_2025-06-10T17:08:18Z.json
│ │ ├── state_update_2025-06-10T17:08:28Z.attr
│ │ ├── state_update_2025-06-10T17:08:28Z.json
│ │ ├── state_update_2025-06-10T17:08:32Z.attr
│ │ ├── state_update_2025-06-10T17:08:32Z.json
│ │ ├── state_update_2025-06-10T17:08:34Z.attr
│ │ ├── state_update_2025-06-10T17:08:34Z.json
│ │ ├── state_validation_2025-06-10T17:07:04Z.attr
│ │ └── state_validation_2025-06-10T17:07:04Z.json
├── endpoint_connection_bad_hash
│ ├── config_blobset.attr
│ ├── config_blobset.json
│ ├── config_discovery.attr
│ ├── config_discovery.json
│ ├── config_localnet.attr
│ ├── config_localnet.json
│ ├── config_pointset.attr
│ ├── config_pointset.json
│ ├── config_system.attr
│ ├── config_system.json
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ ├── state_update.json
│ ├── state_validation.attr
│ ├── state_validation.json
│ ├── stray
│ │ ├── config_update_2025-06-10T17:08:10Z.attr
│ │ ├── config_update_2025-06-10T17:08:10Z.json
│ │ ├── state_discovery_2025-06-10T17:08:06Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:06Z.json
│ │ ├── state_localnet_2025-06-10T17:08:06Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:06Z.json
│ │ ├── state_pointset_2025-06-10T17:08:06Z.attr
│ │ └── state_pointset_2025-06-10T17:08:06Z.json
│ └── trace
│ │ ├── config_blobset_2025-06-10T17:08:22Z.attr
│ │ ├── config_blobset_2025-06-10T17:08:22Z.json
│ │ ├── config_discovery_2025-06-10T17:08:21Z.attr
│ │ ├── config_discovery_2025-06-10T17:08:21Z.json
│ │ ├── config_localnet_2025-06-10T17:08:23Z.attr
│ │ ├── config_localnet_2025-06-10T17:08:23Z.json
│ │ ├── config_pointset_2025-06-10T17:08:23Z.attr
│ │ ├── config_pointset_2025-06-10T17:08:23Z.json
│ │ ├── config_system_2025-06-10T17:08:21Z.attr
│ │ ├── config_system_2025-06-10T17:08:21Z.json
│ │ ├── config_update_2025-06-10T17:08:04Z.attr
│ │ ├── config_update_2025-06-10T17:08:04Z.json
│ │ ├── config_update_2025-06-10T17:08:07Z.attr
│ │ ├── config_update_2025-06-10T17:08:07Z.json
│ │ ├── config_update_2025-06-10T17:08:08Z.json
│ │ ├── config_update_2025-06-10T17:08:10Z.attr
│ │ ├── config_update_2025-06-10T17:08:10Z.json
│ │ ├── config_update_2025-06-10T17:08:11Z.attr
│ │ ├── config_update_2025-06-10T17:08:11Z.json
│ │ ├── config_update_2025-06-10T17:08:13Z.json
│ │ ├── config_update_2025-06-10T17:08:15Z.attr
│ │ ├── config_update_2025-06-10T17:08:15Z.json
│ │ ├── config_update_2025-06-10T17:08:16Z.attr
│ │ ├── config_update_2025-06-10T17:08:16Z.json
│ │ ├── config_update_2025-06-10T17:08:18Z.json
│ │ ├── config_update_2025-06-10T17:08:20Z.attr
│ │ ├── config_update_2025-06-10T17:08:20Z.json
│ │ ├── config_update_2025-06-10T17:08:21Z.attr
│ │ ├── config_update_2025-06-10T17:08:21Z.json
│ │ ├── config_update_2025-06-10T17:08:22Z.attr
│ │ ├── config_update_2025-06-10T17:08:22Z.json
│ │ ├── config_update_2025-06-10T17:08:25Z.json
│ │ ├── events_pointset_2025-06-10T17:07:58Z.attr
│ │ ├── events_pointset_2025-06-10T17:07:58Z.json
│ │ ├── events_pointset_2025-06-10T17:08:03Z.attr
│ │ ├── events_pointset_2025-06-10T17:08:03Z.json
│ │ ├── events_pointset_2025-06-10T17:08:13Z.attr
│ │ ├── events_pointset_2025-06-10T17:08:13Z.json
│ │ ├── events_pointset_2025-06-10T17:08:23Z.attr
│ │ ├── events_pointset_2025-06-10T17:08:23Z.json
│ │ ├── events_system_2025-06-10T17:07:58Z.attr
│ │ ├── events_system_2025-06-10T17:07:58Z.json
│ │ ├── events_system_2025-06-10T17:08:03Z.attr
│ │ ├── events_system_2025-06-10T17:08:03Z.json
│ │ ├── events_system_2025-06-10T17:08:13Z.attr
│ │ ├── events_system_2025-06-10T17:08:13Z.json
│ │ ├── events_system_2025-06-10T17:08:23Z.attr
│ │ ├── events_system_2025-06-10T17:08:23Z.json
│ │ ├── local_blobset_2025-06-10T17:08:20Z.json
│ │ ├── local_discovery_2025-06-10T17:08:20Z.json
│ │ ├── local_localnet_2025-06-10T17:08:20Z.json
│ │ ├── local_pointset_2025-06-10T17:08:20Z.json
│ │ ├── local_system_2025-06-10T17:08:20Z.json
│ │ ├── local_update_2025-06-10T17:08:04Z.json
│ │ ├── local_update_2025-06-10T17:08:07Z.json
│ │ ├── local_update_2025-06-10T17:08:10Z.json
│ │ ├── local_update_2025-06-10T17:08:15Z.json
│ │ ├── state_discovery_2025-06-10T17:08:04Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:04Z.json
│ │ ├── state_discovery_2025-06-10T17:08:10Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:10Z.json
│ │ ├── state_discovery_2025-06-10T17:08:12Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:12Z.json
│ │ ├── state_discovery_2025-06-10T17:08:15Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:15Z.json
│ │ ├── state_discovery_2025-06-10T17:08:17Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:17Z.json
│ │ ├── state_discovery_2025-06-10T17:08:20Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:20Z.json
│ │ ├── state_discovery_2025-06-10T17:08:22Z.attr
│ │ ├── state_discovery_2025-06-10T17:08:22Z.json
│ │ ├── state_localnet_2025-06-10T17:08:04Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:04Z.json
│ │ ├── state_localnet_2025-06-10T17:08:10Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:10Z.json
│ │ ├── state_localnet_2025-06-10T17:08:12Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:12Z.json
│ │ ├── state_localnet_2025-06-10T17:08:15Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:15Z.json
│ │ ├── state_localnet_2025-06-10T17:08:17Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:17Z.json
│ │ ├── state_localnet_2025-06-10T17:08:20Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:20Z.json
│ │ ├── state_localnet_2025-06-10T17:08:22Z.attr
│ │ ├── state_localnet_2025-06-10T17:08:22Z.json
│ │ ├── state_pointset_2025-06-10T17:08:04Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:04Z.json
│ │ ├── state_pointset_2025-06-10T17:08:10Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:10Z.json
│ │ ├── state_pointset_2025-06-10T17:08:12Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:12Z.json
│ │ ├── state_pointset_2025-06-10T17:08:15Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:15Z.json
│ │ ├── state_pointset_2025-06-10T17:08:17Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:17Z.json
│ │ ├── state_pointset_2025-06-10T17:08:20Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:20Z.json
│ │ ├── state_pointset_2025-06-10T17:08:22Z.attr
│ │ ├── state_pointset_2025-06-10T17:08:22Z.json
│ │ ├── state_system_2025-06-10T17:08:04Z.attr
│ │ ├── state_system_2025-06-10T17:08:04Z.json
│ │ ├── state_system_2025-06-10T17:08:06Z.attr
│ │ ├── state_system_2025-06-10T17:08:06Z.json
│ │ ├── state_system_2025-06-10T17:08:10Z.attr
│ │ ├── state_system_2025-06-10T17:08:10Z.json
│ │ ├── state_system_2025-06-10T17:08:12Z.attr
│ │ ├── state_system_2025-06-10T17:08:12Z.json
│ │ ├── state_system_2025-06-10T17:08:15Z.attr
│ │ ├── state_system_2025-06-10T17:08:15Z.json
│ │ ├── state_system_2025-06-10T17:08:17Z.attr
│ │ ├── state_system_2025-06-10T17:08:17Z.json
│ │ ├── state_system_2025-06-10T17:08:20Z.attr
│ │ ├── state_system_2025-06-10T17:08:20Z.json
│ │ ├── state_system_2025-06-10T17:08:22Z.attr
│ │ ├── state_system_2025-06-10T17:08:22Z.json
│ │ ├── state_update_2025-06-10T17:08:04Z.attr
│ │ ├── state_update_2025-06-10T17:08:04Z.json
│ │ ├── state_update_2025-06-10T17:08:06Z.attr
│ │ ├── state_update_2025-06-10T17:08:06Z.json
│ │ ├── state_update_2025-06-10T17:08:10Z.attr
│ │ ├── state_update_2025-06-10T17:08:10Z.json
│ │ ├── state_update_2025-06-10T17:08:12Z.attr
│ │ ├── state_update_2025-06-10T17:08:12Z.json
│ │ ├── state_update_2025-06-10T17:08:15Z.attr
│ │ ├── state_update_2025-06-10T17:08:15Z.json
│ │ ├── state_update_2025-06-10T17:08:17Z.attr
│ │ ├── state_update_2025-06-10T17:08:17Z.json
│ │ ├── state_update_2025-06-10T17:08:20Z.attr
│ │ ├── state_update_2025-06-10T17:08:20Z.json
│ │ ├── state_update_2025-06-10T17:08:22Z.attr
│ │ ├── state_update_2025-06-10T17:08:22Z.json
│ │ ├── state_update_2025-06-10T17:08:24Z.attr
│ │ ├── state_update_2025-06-10T17:08:24Z.json
│ │ ├── state_validation_2025-06-10T17:08:04Z.attr
│ │ └── state_validation_2025-06-10T17:08:04Z.json
├── endpoint_connection_error
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── endpoint_connection_retry
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── endpoint_connection_success_alternate
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── endpoint_connection_success_reconnect
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── endpoint_failure_and_restart
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── endpoint_redirect_and_restart
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_blobset.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── enumerate_families
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── enumerate_features
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── enumerate_multi
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── enumerate_nothing
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_blobset.attr
│ ├── state_blobset.json
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── enumerate_pointset
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── extra_config
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── family_ether_addr
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── family_ipv4_addr
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── family_ipv6_addr
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── gateway_attach_handling
│ ├── device_system.log
│ ├── sequence.log
│ └── sequence.md
├── gateway_proxy_events
│ ├── device_system.log
│ ├── sequence.log
│ └── sequence.md
├── gateway_proxy_state
│ ├── device_system.log
│ ├── sequence.log
│ └── sequence.md
├── pointset_publish
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── pointset_publish_interval
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── pointset_remove_point
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── pointset_request_extraneous
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── scan_periodic_now_enumerate
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── scan_single_future
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── scan_single_now
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_discovery.attr
│ ├── events_discovery.json
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── scan_single_past
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── state_make_model
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── state_software
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── system_last_update
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── system_min_loglevel
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── system_mode_restart
│ ├── config_discovery.attr
│ ├── config_discovery.json
│ ├── config_localnet.attr
│ ├── config_localnet.json
│ ├── config_pointset.attr
│ ├── config_pointset.json
│ ├── config_system.attr
│ ├── config_system.json
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ ├── state_update.json
│ ├── state_validation.attr
│ └── state_validation.json
├── too_much_state
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── valid_serial_no
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── writeback_failure
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── writeback_invalid
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
└── writeback_success
│ ├── config_update.attr
│ ├── config_update.json
│ ├── device_system.log
│ ├── events_pointset.attr
│ ├── events_pointset.json
│ ├── events_system.attr
│ ├── events_system.json
│ ├── local_discovery.json
│ ├── local_localnet.json
│ ├── local_pointset.json
│ ├── local_system.json
│ ├── local_update.json
│ ├── sequence.log
│ ├── sequence.md
│ ├── state_discovery.attr
│ ├── state_discovery.json
│ ├── state_localnet.attr
│ ├── state_localnet.json
│ ├── state_pointset.attr
│ ├── state_pointset.json
│ ├── state_system.attr
│ ├── state_system.json
│ ├── state_update.attr
│ └── state_update.json
├── settings.gradle
├── src
├── main
│ └── java
│ │ └── com
│ │ └── google
│ │ ├── bos
│ │ └── iot
│ │ │ └── core
│ │ │ └── proxy
│ │ │ ├── CloudIotManager.java
│ │ │ ├── IotCoreProxy.java
│ │ │ ├── IotReflectorClient.java
│ │ │ ├── MessageBundle.java
│ │ │ ├── MockPublisher.java
│ │ │ ├── MqttPublisher.java
│ │ │ ├── NullPublisher.java
│ │ │ ├── ProjectMetadata.java
│ │ │ ├── ProxyConfig.java
│ │ │ ├── ProxyTarget.java
│ │ │ └── RetryHttpInitializerWrapper.java
│ │ ├── daq
│ │ └── mqtt
│ │ │ ├── WebServerRunner.java
│ │ │ ├── mapping
│ │ │ └── MappingAgent.java
│ │ │ ├── registrar
│ │ │ ├── LocalDevice.java
│ │ │ ├── Registrar.java
│ │ │ ├── Summarizer.java
│ │ │ └── SwarmMessage.java
│ │ │ ├── sequencer
│ │ │ ├── AllCapabilities.java
│ │ │ ├── Capability.java
│ │ │ ├── DefaultLogLevel.java
│ │ │ ├── DiscoveryScanMode.java
│ │ │ ├── Feature.java
│ │ │ ├── PointsetBase.java
│ │ │ ├── SequenceBase.java
│ │ │ ├── SequenceRunner.java
│ │ │ ├── Summary.java
│ │ │ ├── ValidateSchema.java
│ │ │ ├── WithCapability.java
│ │ │ ├── semantic
│ │ │ │ ├── SemanticDate.java
│ │ │ │ └── SemanticValue.java
│ │ │ └── sequences
│ │ │ │ ├── BlobsetSequences.java
│ │ │ │ ├── ConfigSequences.java
│ │ │ │ ├── DiscoverySequences.java
│ │ │ │ ├── GatewaySequences.java
│ │ │ │ ├── LocalnetSequences.java
│ │ │ │ ├── PointsetSequences.java
│ │ │ │ ├── ProxiedSequences.java
│ │ │ │ ├── SystemSequences.java
│ │ │ │ └── WritebackSequences.java
│ │ │ ├── util
│ │ │ ├── AtomicAverage.java
│ │ │ ├── CloudDeviceSettings.java
│ │ │ ├── CloudIotManager.java
│ │ │ ├── ConfigManager.java
│ │ │ ├── ConfigUtil.java
│ │ │ ├── DeviceExceptionManager.java
│ │ │ ├── DeviceGatewayBoundException.java
│ │ │ ├── Diagnoser.java
│ │ │ ├── Dispatcher.java
│ │ │ ├── DurationAverage.java
│ │ │ ├── FileDataSink.java
│ │ │ ├── FirestoreDataSink.java
│ │ │ ├── ImpulseRunningAverage.java
│ │ │ ├── IotMockProvider.java
│ │ │ ├── IotReflectorClient.java
│ │ │ ├── MessageHandler.java
│ │ │ ├── MessagePublisher.java
│ │ │ ├── ObjectDiffEngine.java
│ │ │ ├── PubSubClient.java
│ │ │ ├── PubSubPusher.java
│ │ │ ├── PublishPriority.java
│ │ │ ├── RetryHttpInitializerWrapper.java
│ │ │ ├── RunningAverageBase.java
│ │ │ ├── SamplingRange.java
│ │ │ ├── SimpleWebServer.java
│ │ │ ├── TimePeriodConstants.java
│ │ │ └── providers
│ │ │ │ ├── BacnetFamilyProvider.java
│ │ │ │ ├── FamilyProvider.java
│ │ │ │ ├── IotFamilyProvider.java
│ │ │ │ └── VendorFamilyProvider.java
│ │ │ └── validator
│ │ │ ├── AugmentedSystemConfig.java
│ │ │ ├── DiscoveryValidator.java
│ │ │ ├── ErrorCollector.java
│ │ │ ├── LoggingHandler.java
│ │ │ ├── MessageReadingClient.java
│ │ │ ├── PointsetValidator.java
│ │ │ ├── Reflector.java
│ │ │ ├── ReportingDevice.java
│ │ │ ├── SchemaTester.java
│ │ │ └── Validator.java
│ │ └── udmi
│ │ └── util
│ │ ├── IotProvider.java
│ │ └── PubSubReflector.java
└── test
│ ├── configs
│ └── localnet.json
│ └── java
│ └── com
│ └── google
│ └── daq
│ └── mqtt
│ ├── TestCommon.java
│ ├── WebServerRunnerTest.java
│ ├── mapping
│ └── MappingAgentTest.java
│ ├── registrar
│ ├── LocalDeviceTest.java
│ └── RegistrarTest.java
│ ├── sequencer
│ ├── FeatureTest.java
│ ├── SequenceBaseTest.java
│ └── SequenceRunnerTest.java
│ ├── util
│ ├── BacnetFamilyProviderTest.java
│ ├── ImpulseRunningAverageTest.java
│ └── RunningAverageBaseTest.java
│ └── validator
│ ├── BasicTest.java
│ ├── PlaybackTest.java
│ └── TestBase.java
├── traces
├── upgrade.in
│ └── LKP-38
│ │ └── 001_update_state.json
└── upgrade.out
│ └── validation_report.json
└── validator.iml
/.gitattributes:
--------------------------------------------------------------------------------
1 | /gencode/** linguist-generated=true
2 | validator/sequences/**/*.json linguist-generated=true
3 | validator/sequences/**/*.attr linguist-generated=true
4 | validator/sequences/**/*.log linguist-generated=true
5 |
--------------------------------------------------------------------------------
/bin/diagnoser:
--------------------------------------------------------------------------------
1 | toolrun
--------------------------------------------------------------------------------
/bin/fail:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | #
3 | # Convenience script to simply output a message and then fail. Useful for testing in the form of:
4 | #
5 | # do_test_stuff || bin/fail the testing script failed
6 | #
7 |
8 | echo fail because $@
9 |
10 | false
11 |
--------------------------------------------------------------------------------
/bin/registrar:
--------------------------------------------------------------------------------
1 | toolrun
--------------------------------------------------------------------------------
/bin/start_hivemq:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | sudo systemctl stop mosquitto || true
4 |
5 | docker run -p 1883:1883 hivemq/hivemq-ce
6 |
--------------------------------------------------------------------------------
/bin/test_etcd:
--------------------------------------------------------------------------------
1 | #/bin/bash -e
2 |
3 | udmis/bin/etcdctl member list
4 |
--------------------------------------------------------------------------------
/bin/timestamp:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | timestamp=$(date -Is -u)
4 |
5 | echo ${timestamp%+*}Z $@
6 |
--------------------------------------------------------------------------------
/bin/validator:
--------------------------------------------------------------------------------
1 | toolrun
--------------------------------------------------------------------------------
/bin/which_venv_pip3:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | for f in venv/bin/pip3 $HOME/venv/bin/pip3; do
4 | if [[ -x "$f" ]]; then
5 | echo "$f"
6 | exit 0
7 | fi
8 | done
9 |
10 | >&2 echo Cannot find venv
11 | false
12 |
--------------------------------------------------------------------------------
/cloud/gcp/modules/terraform-google-udmi-site/main.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_providers {
3 | google = {
4 | #source = "hashicorp/google"
5 | version = "~> 3.0"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/cloud/gcp/modules/terraform-google-udmi-site/outputs.tf:
--------------------------------------------------------------------------------
1 | output "event_topic" {
2 | value = google_pubsub_subscription.site_pubsub_event_subscription.name
3 | }
4 |
5 | output "site_members" {
6 | value = var.site_members
7 | }
8 |
--------------------------------------------------------------------------------
/cloud/gcp/modules/terraform-google-udmi-site/sourcerepo.tf:
--------------------------------------------------------------------------------
1 | resource "google_sourcerepo_repository" "udmi_site_sourcerepo" {
2 | name = var.site_name
3 | project = var.gcp_project
4 | }
--------------------------------------------------------------------------------
/cloud/gcp/outputs.tf:
--------------------------------------------------------------------------------
1 | output "gcp_project_id" {
2 | value = var.gcp_project_id
3 | }
--------------------------------------------------------------------------------
/cloud/gcp/provider.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 0.12"
3 | }
4 | provider "google" {
5 | credentials = file(var.gcp_auth_file)
6 | project = var.gcp_project_name
7 | region = var.gcp_region
8 | }
9 |
10 |
11 |
--------------------------------------------------------------------------------
/cloud/gcp/readme.md:
--------------------------------------------------------------------------------
1 | # UDMI terraform configuration files
2 |
3 | Refer to the [UDMI terraform configuration document](../../docs/cloud/gcp/terraform.md) for information on how to use the UDMI terraform configuration files.
4 |
--------------------------------------------------------------------------------
/cloud/gcp/sourcerepo.tf:
--------------------------------------------------------------------------------
1 | resource "google_sourcerepo_repository" "udmi-terraform" {
2 | name = "udmi-terraform"
3 | project = var.gcp_project_id
4 | }
--------------------------------------------------------------------------------
/common/src/main/java/com/google/udmi/util/ValidationError.java:
--------------------------------------------------------------------------------
1 | package com.google.udmi.util;
2 |
3 | public class ValidationError extends RuntimeException {
4 |
5 | public ValidationError(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/common/src/main/java/com/google/udmi/util/ValidationWarning.java:
--------------------------------------------------------------------------------
1 | package com.google.udmi.util;
2 |
3 | public class ValidationWarning extends ValidationError {
4 |
5 | public ValidationWarning(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/contrib/mango/.gitignore:
--------------------------------------------------------------------------------
1 | data/
2 |
--------------------------------------------------------------------------------
/contrib/mango/mango_docker:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -o errexit -o nounset
3 |
4 | docker run --rm \
5 | -p 8080:8080 \
6 | -p 8443:8443 \
7 | -v "$(dirname "$0")"/data:/opt/mango-data \
8 | ghcr.io/radixiot/mango:latest
9 |
--------------------------------------------------------------------------------
/docs/cloud/readme.md:
--------------------------------------------------------------------------------
1 | [**UDMI**](../../) / [**Docs**](../) / [Cloud](#)
2 |
3 | # Cloud
4 |
5 | UDMI is designed to work with any MQTT broker or cloud platform
6 |
7 | Tooling and cloud infrastructure is provided for the following:
8 | - [GCP](gcp/)
9 |
--------------------------------------------------------------------------------
/docs/device_testing/img/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/circle.png
--------------------------------------------------------------------------------
/docs/device_testing/img/circle_no.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/circle_no.png
--------------------------------------------------------------------------------
/docs/device_testing/img/circle_yes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/circle_yes.png
--------------------------------------------------------------------------------
/docs/device_testing/img/no-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/no-black.png
--------------------------------------------------------------------------------
/docs/device_testing/img/no.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/no.png
--------------------------------------------------------------------------------
/docs/device_testing/img/no.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/no.xcf
--------------------------------------------------------------------------------
/docs/device_testing/img/products/ALC_OFHI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/ALC_OFHI.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/FS-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/FS-32.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/FW-14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/FW-14.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/LROC_400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/LROC_400.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/Mango_os.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/Mango_os.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/O3-DIN-CPU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/O3-DIN-CPU.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/RED5-EDGE-634.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/RED5-EDGE-634.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/RED5-PLUS-1180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/RED5-PLUS-1180.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/danfoss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/danfoss.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/distech_apex.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/distech_apex.jpg
--------------------------------------------------------------------------------
/docs/device_testing/img/products/eBCON-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/eBCON-2.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/enlighted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/enlighted.png
--------------------------------------------------------------------------------
/docs/device_testing/img/products/tridium_jace-8000.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/tridium_jace-8000.jpg
--------------------------------------------------------------------------------
/docs/device_testing/img/products/tyrrell.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/tyrrell.jpg
--------------------------------------------------------------------------------
/docs/device_testing/img/products/vayandata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/products/vayandata.png
--------------------------------------------------------------------------------
/docs/device_testing/img/skip-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/skip-black.png
--------------------------------------------------------------------------------
/docs/device_testing/img/skip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/skip.png
--------------------------------------------------------------------------------
/docs/device_testing/img/skip.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/skip.xcf
--------------------------------------------------------------------------------
/docs/device_testing/img/untested.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/untested.png
--------------------------------------------------------------------------------
/docs/device_testing/img/untested.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/untested.xcf
--------------------------------------------------------------------------------
/docs/device_testing/img/yes-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/yes-black.png
--------------------------------------------------------------------------------
/docs/device_testing/img/yes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/yes.png
--------------------------------------------------------------------------------
/docs/device_testing/img/yes.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/device_testing/img/yes.xcf
--------------------------------------------------------------------------------
/docs/specs/sequences/images/state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/specs/sequences/images/state.png
--------------------------------------------------------------------------------
/docs/specs/sequences/images/writeback-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/specs/sequences/images/writeback-basic.png
--------------------------------------------------------------------------------
/docs/specs/sequences/images/writeback-etag-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/docs/specs/sequences/images/writeback-etag-example.png
--------------------------------------------------------------------------------
/docs/tools/exceptions.json:
--------------------------------------------------------------------------------
1 | {
2 | "LTGW-": {
3 | "#/pointset/points: maximum size:": {},
4 | "validating sample file logentry.json": {}
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/docs/udmis/readme.md:
--------------------------------------------------------------------------------
1 | [**UDMI**](../../) / [**Docs**](../) / [UDMIS](#)
2 |
3 | * [Class Overview](class_overview.md)
4 | * [Local docker](local_docker.md)
5 |
--------------------------------------------------------------------------------
/etc/category.json:
--------------------------------------------------------------------------------
1 | {
2 | "$udmi_version": "1.5.2",
3 | "title": "Category",
4 | "$comment": "Auto-generated category mappings from bin/gencode_categories.",
5 | "type": "string",
6 | "oneOf": [
7 | @@ gencode stuff goes here
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/etc/local_tests.txt:
--------------------------------------------------------------------------------
1 | broken_config
2 | endpoint_connection_retry
3 | pointset_publish_interval
4 | extra_config
5 | system_last_update
6 |
--------------------------------------------------------------------------------
/etc/schema_navbar.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/etc/schema_nostate.out:
--------------------------------------------------------------------------------
1 | RESULT pass schemas device_state_stable STABLE 10/10 Schema validation passed
2 | RESULT pass schemas events_pointset_stable STABLE 10/10 Schema validation passed
3 | RESULT skip endpoint.config endpoint_connection_bad_alternate PREVIEW 0/0 State testing disabled
4 |
--------------------------------------------------------------------------------
/etc/schema_readme_template.md:
--------------------------------------------------------------------------------
1 | [**UDMI**](../../) / [Schema](#)
2 |
3 |
4 |
5 |
6 | # UDMI Schema
7 |
8 | ## Messages
9 |
10 | ## Site Model
11 |
12 | ## Blobs
13 |
14 | ## Other
15 |
--------------------------------------------------------------------------------
/misc/.gitignore:
--------------------------------------------------------------------------------
1 | tmp
2 | var
3 | build
4 |
--------------------------------------------------------------------------------
/misc/automated_sequencer/reporter/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | tag=latest
3 | image_name=autosequencer-reporter
4 | PROJECT_ID=bos-platform-artifacts
5 | REGISTRY=us-central1-docker.pkg.dev/$PROJECT_ID/udmi
6 |
7 | docker build --no-cache -t $image_name:$tag .
8 | docker tag $image_name:$tag $REGISTRY/$image_name:$tag
9 | docker push $REGISTRY/$image_name:$tag
--------------------------------------------------------------------------------
/misc/automated_sequencer/reporter/python/requirements.txt:
--------------------------------------------------------------------------------
1 | Jinja2
2 |
--------------------------------------------------------------------------------
/misc/automated_sequencer/reporter/python/run_metadata.py:
--------------------------------------------------------------------------------
1 | from dataclasses import dataclass
2 |
3 |
4 | # ESULT pass discovery.scan periodic_scan ALPHA 5 Sequence complete
5 | @dataclass
6 | class RunMetadata:
7 | timestamp: int = 0
8 | udmi_commit_hash: str = ''
9 |
--------------------------------------------------------------------------------
/misc/automated_sequencer/sequencer/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | tag=latest
3 | image_name=autosequencer-sequencer
4 | PROJECT_ID=$1
5 | REGISTRY=us-central1-docker.pkg.dev/$PROJECT_ID/udmi
6 |
7 | docker build --no-cache -t $image_name:$tag .
8 | docker tag $image_name:$tag $REGISTRY/$image_name:$tag
9 | docker push $REGISTRY/$image_name:$tag
--------------------------------------------------------------------------------
/misc/bin/build:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/misc/bin/build
--------------------------------------------------------------------------------
/misc/discoverynode/.gitignore:
--------------------------------------------------------------------------------
1 | venv/
--------------------------------------------------------------------------------
/misc/discoverynode/bin/setup:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | ROOT_DIR=$(realpath $(dirname $0)/..)
--------------------------------------------------------------------------------
/misc/discoverynode/etc/base_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "mqtt": {
3 | },
4 | "udmi": {
5 | "discovery": {
6 | "ipv4": "false",
7 | "ether": false,
8 | "bacnet": false
9 | }
10 | },
11 | "bacnet": {
12 | "ip": "192.168.11.251"
13 | }
14 | }
--------------------------------------------------------------------------------
/misc/discoverynode/src/udmi/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/misc/discoverynode/src/udmi/__init__.py
--------------------------------------------------------------------------------
/misc/discoverynode/src/udmi/publishers/mock_publisher.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/misc/discoverynode/src/udmi/publishers/mock_publisher.py
--------------------------------------------------------------------------------
/misc/discoverynode/testing/docker/bacnet_device/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | ROOT_DIR=$(dirname $(realpath $0 ))
3 | cd $ROOT_DIR
4 | docker build -t test-bacnet-device -f Dockerfile .
--------------------------------------------------------------------------------
/misc/discoverynode/testing/docker/discovery_node/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | ROOT_DIR=$(dirname $(realpath $0 ))
3 | cd $ROOT_DIR/../../../src
4 | docker build -t test-discovery_node -f $ROOT_DIR/Dockerfile .
5 |
--------------------------------------------------------------------------------
/misc/discoverynode/testing/docker/discovery_node/entrypoint.sh:
--------------------------------------------------------------------------------
1 | echo hello from entry point
2 | TIMESTAMP=$(date +%s)
3 | echo $TIMESTAMP
4 | tcpdump -ni eth0 -w /pcap/$TIMESTAMP.pcap &
5 | python -m pytest -s tests/test_integration.py
--------------------------------------------------------------------------------
/misc/discoverynode/testing/e2e/.gitignore:
--------------------------------------------------------------------------------
1 | discovery_node_config.json
2 |
--------------------------------------------------------------------------------
/misc/distroless_tools/readme.md:
--------------------------------------------------------------------------------
1 | # Distroless Tools
2 |
3 | This directory builds the UDMI tooling (validator) using [distroless containers](https://github.com/GoogleContainerTools/distroless)
4 |
5 | ## Usage
6 |
7 | ```shell
8 | $ misc/distroless_tools/build [PUSH_REf]
9 | ```
10 |
--------------------------------------------------------------------------------
/misc/etc/dummy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/misc/etc/dummy
--------------------------------------------------------------------------------
/misc/gcloud_iot_config/README.md:
--------------------------------------------------------------------------------
1 | # GCP IoT Config Store
2 |
3 | Stores a complete history of all config messages sent to devices in a GCP Project in GCS
4 |
5 | ## Installation
6 | `./deploy PROJECT_ID`
--------------------------------------------------------------------------------
/misc/gcloud_iot_config/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "config_to_gcs",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@google-cloud/pubsub": "^0.18.0",
6 | "@google-cloud/iot": "2.3.4",
7 | "@google-cloud/storage": "6.5.2"
8 | }
9 | }
--------------------------------------------------------------------------------
/misc/gcloud_iot_connection_log/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iotlogs-to-bq",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@google-cloud/pubsub": "^0.18.0",
6 | "@google-cloud/bigquery": "^3.0.0"
7 | }
8 | }
--------------------------------------------------------------------------------
/misc/gcloud_iot_pingreq_log/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iotlogs-to-bq",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@google-cloud/pubsub": "^0.18.0",
6 | "@google-cloud/bigquery": "^3.0.0"
7 | }
8 | }
--------------------------------------------------------------------------------
/misc/gcloud_messages_telemetry/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "message-store",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@google-cloud/pubsub": "^0.18.0",
6 | "@google-cloud/bigquery": "^3.0.0",
7 | "@google-cloud/storage": "6.5.2"
8 | }
9 | }
--------------------------------------------------------------------------------
/misc/gcloud_state_hardware_software/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "state-to-bq",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@google-cloud/pubsub": "^0.18.0",
6 | "@google-cloud/bigquery": "^3.0.0"
7 | }
8 | }
--------------------------------------------------------------------------------
/misc/gcloud_store_message/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "message-store",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@google-cloud/pubsub": "^0.18.0",
6 | "@google-cloud/bigquery": "^3.0.0",
7 | "@google-cloud/storage": "6.5.2"
8 | }
9 | }
--------------------------------------------------------------------------------
/misc/replay_validated/requirements.txt:
--------------------------------------------------------------------------------
1 | google-api-core
2 | google-api-python-client
3 | google-auth
4 | google-cloud-bigquery
5 | google-cloud-pubsub
6 |
7 |
--------------------------------------------------------------------------------
/proxy/attributes.json:
--------------------------------------------------------------------------------
1 | {
2 | "proxy_sub_base": "debug",
3 | "proxy_topic_base": "udmi",
4 | "proxy_st-atmosphere_target": "essential-keep-197822",
5 | "proxy_st-atmosphere_registry": "st-atmo-sphere",
6 | "proxy_st-atmosphere_region": "us-central1"
7 | }
8 |
--------------------------------------------------------------------------------
/pubber/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/pubber/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/pubber/.idea/dictionaries/peringknife.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | addr
5 | localnet
6 | pubber
7 | subblock
8 |
9 |
10 |
--------------------------------------------------------------------------------
/pubber/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/pubber/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/pubber/.idea/runConfigurations/_template__of_Application.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/pubber/etc/Dockerfile.puller:
--------------------------------------------------------------------------------
1 | # Image name: udmi/pubber
2 | #
3 | # Docker container for scaled pubber instances.
4 | #
5 |
6 | FROM adoptopenjdk/openjdk11:latest
7 |
8 | WORKDIR /root/pubber
9 |
10 | COPY pubber/bin/ bin/
11 |
12 | COPY pubber/build/libs build/libs/
13 |
14 | ENTRYPOINT ["bin/puller"]
15 |
--------------------------------------------------------------------------------
/pubber/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/pubber/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/pubber/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Feb 11 09:15:14 PST 2020
2 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
3 | distributionBase=GRADLE_USER_HOME
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/pubber/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'pubber'
2 |
--------------------------------------------------------------------------------
/pubber/src/test/configs/localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2020-05-01T13:39:07Z",
3 | "version" : "1.3.14",
4 | "localnet" : {
5 | "families" : {
6 | "virtual" : {
7 | "id" : "0x65"
8 | }
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/schema/ancillary_properties.json:
--------------------------------------------------------------------------------
1 | {
2 | "$udmi_version": "1.5.2",
3 | "title": "Ancillary Properties",
4 | "description": "Arbitrary blob of json associated with this point",
5 | "existingJavaType": "java.util.Map",
6 | "type": "object"
7 | }
8 |
--------------------------------------------------------------------------------
/schema/config_localnet_family.json:
--------------------------------------------------------------------------------
1 | {
2 | "$udmi_version": "1.5.2",
3 | "title": "Family Localnet Config",
4 | "type": "object",
5 | "$schema": "http://json-schema.org/draft-07/schema#",
6 | "additionalProperties": false,
7 | "properties": {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/schema/monitoring.json:
--------------------------------------------------------------------------------
1 | {
2 | "$udmi_version": "1.5.2",
3 | "title": "Monitoring",
4 | "description": "Output from UDMIS monitoring",
5 | "type": "object",
6 | "$schema": "http://json-schema.org/draft-07/schema#",
7 | "properties": {
8 | "metric": {
9 | "$ref": "file:monitoring_metric.json#"
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/schema/state_localnet_family.json:
--------------------------------------------------------------------------------
1 | {
2 | "$udmi_version": "1.5.2",
3 | "type": "object",
4 | "additionalProperties": false,
5 | "title": "Family Localnet State",
6 | "properties": {
7 | "addr": {
8 | "type": "string"
9 | },
10 | "status": {
11 | "$ref": "file:entry.json"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/selfie/bin/build:
--------------------------------------------------------------------------------
1 | # Empty dummy build script for non-existant selfie source.
2 |
3 | mkdir -p build/libs
4 | touch build/libs/selfie-1.0-SNAPSHOT-all.jar
5 |
--------------------------------------------------------------------------------
/services/etc/k8s_account.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ServiceAccount
3 | metadata:
4 | annotations:
5 | iam.gke.io/gcp-service-account: udmi-service@@GCP_PROJECT@.iam.gserviceaccount.com
6 | name: default
7 |
--------------------------------------------------------------------------------
/services/etc/k8s_config.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: config
5 | data:
6 | BITBOX_DISCOVERY:
7 | ETCD_CLUSTER:
8 | UDMI_NAMESPACE: @UDMI_NAMESPACE@
9 |
--------------------------------------------------------------------------------
/services/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/services/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/services/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/services/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'services'
2 |
3 |
--------------------------------------------------------------------------------
/services/src/test/configs/localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2020-05-01T13:39:07Z",
3 | "version" : "1.3.14",
4 | "localnet" : {
5 | "families" : {
6 | "virtual" : {
7 | "id" : "0x65"
8 | }
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/tests/combos/missing_pointset.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "Test that missing pointset metadata doesn't cause a NPE in validator",
3 | "site_model": "tests/sites/missing",
4 | "traces": "tests/traces/simple",
5 | "validator": {
6 | "check": "! fgrep -i null tests/sites/missing/out/devices/GAT-123/state.out"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/tests/schemas/commands_discovery/provision.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object instance has properties which are not allowed by the schema: ["provision"]
3 |
--------------------------------------------------------------------------------
/tests/schemas/commands_mapping/mapping.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/commands_mapping/mapping.out
--------------------------------------------------------------------------------
/tests/schemas/config/blobset_final.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/blobset_final.out
--------------------------------------------------------------------------------
/tests/schemas/config/blobset_final_incomplete_payload.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | /blobset/blobs/arbitrary_manufacturer_id: instance failed to match exactly one schema (matched 0 out of 2)
3 |
--------------------------------------------------------------------------------
/tests/schemas/config/blobset_final_incomplete_url.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.5.2",
3 | "blobset": {
4 | "blobs": {
5 | "_firmware_update": {
6 | "phase": "final",
7 | "url": "https://manuf.com/path/file.zip"
8 | }
9 | }
10 | },
11 | "timestamp": "2022-07-13T12:00:00.000Z"
12 | }
13 |
--------------------------------------------------------------------------------
/tests/schemas/config/blobset_final_incomplete_url.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | /blobset/blobs/_firmware_update: object has missing required properties (["generation","sha256"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/config/commit.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/commit.out
--------------------------------------------------------------------------------
/tests/schemas/config/continuous.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/continuous.out
--------------------------------------------------------------------------------
/tests/schemas/config/delta_x1_gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2021-11-02T12:22:14Z",
3 | "gateway" : {
4 | "proxy_ids" : [ "TRHC-26" ]
5 | },
6 | "localnet" : {
7 | "subsystem" : {
8 | "bacnet" : {
9 | "local_id" : "1010112"
10 | }
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/tests/schemas/config/delta_x1_gateway.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /localnet: object instance has properties which are not allowed by the schema: ["subsystem"]
3 | object has missing required properties (["version"])
4 |
--------------------------------------------------------------------------------
/tests/schemas/config/delta_x1_target.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /localnet: object instance has properties which are not allowed by the schema: ["subsystem"]
3 | object has missing required properties (["version"])
4 |
--------------------------------------------------------------------------------
/tests/schemas/config/direct.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/direct.out
--------------------------------------------------------------------------------
/tests/schemas/config/discovery.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/discovery.out
--------------------------------------------------------------------------------
/tests/schemas/config/easing.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/easing.out
--------------------------------------------------------------------------------
/tests/schemas/config/empty.json:
--------------------------------------------------------------------------------
1 | { }
--------------------------------------------------------------------------------
/tests/schemas/config/empty.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["timestamp","version"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/config/endpoint_reconfiguration.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/endpoint_reconfiguration.out
--------------------------------------------------------------------------------
/tests/schemas/config/enumeration.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/enumeration.out
--------------------------------------------------------------------------------
/tests/schemas/config/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/example.out
--------------------------------------------------------------------------------
/tests/schemas/config/fcu.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /pointset/points/chilled_water_valve_percentage_command: object instance has properties which are not allowed by the schema: ["min_update_ms"]
3 | /system: object instance has properties which are not allowed by the schema: ["max_update_ms"]
4 |
--------------------------------------------------------------------------------
/tests/schemas/config/fetch.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/fetch.out
--------------------------------------------------------------------------------
/tests/schemas/config/from_bacnet.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/from_bacnet.out
--------------------------------------------------------------------------------
/tests/schemas/config/from_radix.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/from_radix.out
--------------------------------------------------------------------------------
/tests/schemas/config/gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.5.2",
3 | "timestamp": "2018-08-26T21:39:29.364Z",
4 | "gateway": {
5 | "proxy_ids": [ "AHU-123", "SMS-81", "991" ]
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/tests/schemas/config/gateway.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | /gateway/proxy_ids/2: ECMA 262 regex "^[A-Z]{2,6}-[1-9][0-9]*$" does not match input string "991"
3 |
--------------------------------------------------------------------------------
/tests/schemas/config/implicit.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/implicit.out
--------------------------------------------------------------------------------
/tests/schemas/config/periodic.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/periodic.out
--------------------------------------------------------------------------------
/tests/schemas/config/proxy.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/proxy.out
--------------------------------------------------------------------------------
/tests/schemas/config/restart.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/restart.out
--------------------------------------------------------------------------------
/tests/schemas/config/smartprimus.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /pointset/points/fan_run_enable: object instance has properties which are not allowed by the schema: ["fix_value"]
3 | /pointset/points/fan_run_status: object instance has properties which are not allowed by the schema: ["fix_value"]
4 |
--------------------------------------------------------------------------------
/tests/schemas/config/writeback.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config/writeback.out
--------------------------------------------------------------------------------
/tests/schemas/config_mapping/mapping.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config_mapping/mapping.out
--------------------------------------------------------------------------------
/tests/schemas/config_pointset/easing.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config_pointset/easing.out
--------------------------------------------------------------------------------
/tests/schemas/config_pointset/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/config_pointset/example.out
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/delta.json:
--------------------------------------------------------------------------------
1 | {
2 | "protocol": "mqtt",
3 | "client_id": "projects/bos-corpops-testing/locations/us-central1/registries/UK-LON-GLAB/devices/FCU-102",
4 | "hostname": "mqtt.googleapis.com"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/delta.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/configuration_endpoint/delta.out
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/gcp_iot_core.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/configuration_endpoint/gcp_iot_core.out
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/mosquitto.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/configuration_endpoint/mosquitto.out
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/multiple.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | /topic_prefix: ECMA 262 regex "^[-_/a-zA-Z0-9]+$" does not match input string "/devices/#"
3 |
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/simple.json:
--------------------------------------------------------------------------------
1 | {
2 | "protocol": "mqtt",
3 | "client_id": "projects/bos-snork-dev/locations/us-central1/registries/ZZ-TRI-FECTA/devices/AHU-1",
4 | "hostname": "mqtt.googleapis.com"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/schemas/configuration_endpoint/simple.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/configuration_endpoint/simple.out
--------------------------------------------------------------------------------
/tests/schemas/configuration_execution/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "cloud_region": "us-central1",
3 | "site_name": "ZZ-TRI-FECTA",
4 | "registry_id": "ZZ-TRI-FECTA"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/schemas/configuration_execution/cloud_iot_config.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/configuration_execution/cloud_iot_config.out
--------------------------------------------------------------------------------
/tests/schemas/configuration_pubber/mosquitto.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/configuration_pubber/mosquitto.out
--------------------------------------------------------------------------------
/tests/schemas/envelope/empty.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/empty.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["deviceRegistryId"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/errors1.json:
--------------------------------------------------------------------------------
1 | {
2 | "deviceRegistryId": "test/registry",
3 | "deviceNumId": "921302198324X",
4 | "deviceId": "fcu-1",
5 | "subType": 5
6 | }
7 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/errors2.json:
--------------------------------------------------------------------------------
1 | {
2 | "deviceRegistryId": "test-registry",
3 | "deviceNumId": "-9213923812",
4 | "deviceId": "FCUs_02_NW_12"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/errors2.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /deviceId: ECMA 262 regex "^[A-Z]{2,6}-[1-9][0-9]*$" does not match input string "FCUs_02_NW_12"
3 | /deviceNumId: ECMA 262 regex "^[0-9]+$" does not match input string "-9213923812"
4 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/example.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectId": "daq-test-suite",
3 | "deviceRegistryId": "ZZ-TRI-FECTA",
4 | "deviceNumId": "921302198324",
5 | "deviceId": "FCU-2",
6 | "subFolder": "pointset",
7 | "subType": "events"
8 | }
9 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/envelope/example.out
--------------------------------------------------------------------------------
/tests/schemas/envelope/example2.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectId": "daq-test-suite",
3 | "deviceRegistryId": "test-registry",
4 | "deviceRegistryLocation": "us-central1",
5 | "deviceNumId": "23812",
6 | "deviceId": "FCU-202",
7 | "subFolder": "system",
8 | "subType": "config"
9 | }
10 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/example2.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/envelope/example2.out
--------------------------------------------------------------------------------
/tests/schemas/envelope/gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectId": "daq-test-suite",
3 | "deviceRegistryId": "NOXIE-ROXIE",
4 | "deviceNumId": "921302198324",
5 | "deviceId": "LTGW-2",
6 | "subFolder": "pointset",
7 | "subType": "config"
8 | }
9 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/gateway.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/envelope/gateway.out
--------------------------------------------------------------------------------
/tests/schemas/envelope/lgtw.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectId": "daq-test-suite",
3 | "deviceRegistryId": "test_registry",
4 | "deviceNumId": "921302198324",
5 | "deviceId": "LGTW-2",
6 | "subFolder": "discovery",
7 | "subType": "config"
8 | }
9 |
--------------------------------------------------------------------------------
/tests/schemas/envelope/lgtw.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/envelope/lgtw.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/continuous.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/continuous.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/discovery.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/discovery.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/discovery_node.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/discovery_node.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/discovery_node2.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/discovery_node2.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/empty.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/empty.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/empty.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/enumeration.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/enumeration.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/features.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/features.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/from_bacnet.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/from_bacnet.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/from_radix.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/from_radix.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/implicit.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/implicit.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/node.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | /system: object instance has properties which are not allowed by the schema: ["software"]
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/point_error.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/point_error.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/proxied_scan.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/proxied_scan.out
--------------------------------------------------------------------------------
/tests/schemas/events_discovery/scan_error.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_discovery/scan_error.out
--------------------------------------------------------------------------------
/tests/schemas/events_mapping/mapping.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_mapping/mapping.out
--------------------------------------------------------------------------------
/tests/schemas/events_mapping/prediction.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object instance has properties which are not allowed by the schema: ["prediction"]
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/empty.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/empty.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["points","timestamp","version"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_pointset/example.out
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/fcu.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_pointset/fcu.out
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/partial.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.5.2",
3 | "timestamp": "2018-08-26T21:39:29.364Z",
4 | "partial_update": true,
5 | "points": {
6 | "reading_value": {
7 | "present_value": 21.30108642578125
8 | },
9 | "enum_value": {
10 | "present_value": "hello"
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/partial.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_pointset/partial.out
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/smartprimus.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_pointset/smartprimus.out
--------------------------------------------------------------------------------
/tests/schemas/events_pointset/writeback.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_pointset/writeback.out
--------------------------------------------------------------------------------
/tests/schemas/events_system/empty.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_system/empty.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["timestamp","version"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/events_system/errors.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.5.2",
3 | "timestamp": "2018-08-26T21:39:29.364Z",
4 | "logentries": [
5 | {
6 | "detail": "someplace, sometime",
7 | "category": "system.unknown.cateogry",
8 | "level": 60
9 | },
10 | "nope"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/tests/schemas/events_system/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_system/example.out
--------------------------------------------------------------------------------
/tests/schemas/events_system/fcu.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_system/fcu.out
--------------------------------------------------------------------------------
/tests/schemas/events_system/metrics.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_system/metrics.out
--------------------------------------------------------------------------------
/tests/schemas/events_validation/simple_error.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_validation/simple_error.out
--------------------------------------------------------------------------------
/tests/schemas/events_validation/simple_ok.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/events_validation/simple_ok.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/bacmodel.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/bacmodel.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/bad.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /gateway/proxy_ids/0: ECMA 262 regex "^[A-Z]{2,6}-[1-9][0-9]*$" does not match input string "AHU-001"
3 | /gateway/proxy_ids/1: ECMA 262 regex "^[A-Z]{2,6}-[1-9][0-9]*$" does not match input string "A-1"
4 |
--------------------------------------------------------------------------------
/tests/schemas/metadata/direct.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/direct.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/discovery_metadata.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/discovery_metadata.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/empty.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/tests/schemas/metadata/empty.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["system","timestamp","version"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/metadata/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/example.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/gateway.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/gateway.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/network.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/network.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/nosys.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["system"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/metadata/proxy.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/proxy.out
--------------------------------------------------------------------------------
/tests/schemas/metadata/toomany.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /pointset/points: object has too many properties (found 672 but schema requires at most 150)
3 | /system/physical_tag/asset/name: ECMA 262 regex "^[A-Z]{2,6}-[1-9][0-9]*$" does not match input string "UK-LON-S2_LTGW-3"
4 |
--------------------------------------------------------------------------------
/tests/schemas/metadata/upgrade_root_tags.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/metadata/upgrade_root_tags.out
--------------------------------------------------------------------------------
/tests/schemas/model_pointset/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/model_pointset/example.out
--------------------------------------------------------------------------------
/tests/schemas/site_metadata/errors.out:
--------------------------------------------------------------------------------
1 | 3 schema violations found
2 | /parameters/area/net_occupied_area/unit: instance failed to match exactly one schema (matched 0 out of 7)
3 | /parameters/area: object instance has properties which are not allowed by the schema: ["extra"]
4 | object has missing required properties (["timestamp"])
5 |
--------------------------------------------------------------------------------
/tests/schemas/site_metadata/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/site_metadata/example.out
--------------------------------------------------------------------------------
/tests/schemas/state/blobset_received.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/blobset_received.out
--------------------------------------------------------------------------------
/tests/schemas/state/blobset_updating.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/blobset_updating.out
--------------------------------------------------------------------------------
/tests/schemas/state/continuous.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/continuous.out
--------------------------------------------------------------------------------
/tests/schemas/state/delta_x1_target.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /system: object has missing required properties (["serial_no"])
3 | /system: object instance has properties which are not allowed by the schema: ["vendor_name"]
4 |
--------------------------------------------------------------------------------
/tests/schemas/state/direct.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/direct.out
--------------------------------------------------------------------------------
/tests/schemas/state/discovery.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/discovery.out
--------------------------------------------------------------------------------
/tests/schemas/state/empty.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/tests/schemas/state/empty.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | object has missing required properties (["system","timestamp","version"])
3 |
--------------------------------------------------------------------------------
/tests/schemas/state/endpoint_reconfiguration.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/endpoint_reconfiguration.out
--------------------------------------------------------------------------------
/tests/schemas/state/endpoint_reconfiguration_failed.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/endpoint_reconfiguration_failed.out
--------------------------------------------------------------------------------
/tests/schemas/state/enumeration.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/enumeration.out
--------------------------------------------------------------------------------
/tests/schemas/state/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/example.out
--------------------------------------------------------------------------------
/tests/schemas/state/fcu.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/fcu.out
--------------------------------------------------------------------------------
/tests/schemas/state/gateway.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/gateway.out
--------------------------------------------------------------------------------
/tests/schemas/state/makemodel_error.out:
--------------------------------------------------------------------------------
1 | 2 schema violations found
2 | /system: object has missing required properties (["hardware","software"])
3 | /system: object instance has properties which are not allowed by the schema: ["firmware","make_model"]
4 |
--------------------------------------------------------------------------------
/tests/schemas/state/makemodel_upgrade.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/makemodel_upgrade.out
--------------------------------------------------------------------------------
/tests/schemas/state/networks.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/networks.out
--------------------------------------------------------------------------------
/tests/schemas/state/periodic.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/periodic.out
--------------------------------------------------------------------------------
/tests/schemas/state/proxy.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/proxy.out
--------------------------------------------------------------------------------
/tests/schemas/state/restart.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/restart.out
--------------------------------------------------------------------------------
/tests/schemas/state/scan_bad.out:
--------------------------------------------------------------------------------
1 | 1 schema violations found
2 | /discovery/families: object instance has properties which are not allowed by the schema: ["BACnet"]
3 |
--------------------------------------------------------------------------------
/tests/schemas/state/scan_error.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/scan_error.out
--------------------------------------------------------------------------------
/tests/schemas/state/scan_stop.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/scan_stop.out
--------------------------------------------------------------------------------
/tests/schemas/state/upgrade_gateway_devices.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/upgrade_gateway_devices.out
--------------------------------------------------------------------------------
/tests/schemas/state/writeback.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state/writeback.out
--------------------------------------------------------------------------------
/tests/schemas/state_mapping/mapping.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state_mapping/mapping.out
--------------------------------------------------------------------------------
/tests/schemas/state_pointset/example.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state_pointset/example.out
--------------------------------------------------------------------------------
/tests/schemas/state_validation/report.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state_validation/report.out
--------------------------------------------------------------------------------
/tests/schemas/state_validation/sequencer.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/schemas/state_validation/sequencer.out
--------------------------------------------------------------------------------
/tests/sites/basic/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "cloud_region": "us-central1",
3 | "site_name": "ZZ-TRI-FECTA",
4 | "registry_id": "ZZ-TRI-FECTA"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-123/ec_private.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/basic/devices/GAT-123/ec_private.pem
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-123/ec_private.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/basic/devices/GAT-123/ec_private.pkcs8
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-123/ec_public.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/basic/devices/GAT-123/ec_public.pem
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-72/ec_private.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/basic/devices/GAT-72/ec_private.pem
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-72/ec_private.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/basic/devices/GAT-72/ec_private.pkcs8
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-72/ec_public.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/basic/devices/GAT-72/ec_public.pem
--------------------------------------------------------------------------------
/tests/sites/basic/devices/GAT-72/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for GAT-72
2 | List of 3 exceptions
3 | GAT-72 proxy_id mismatch: [AHU-1, SNS-4]
4 | Should not proxy direct device AHU-1
5 | gateway_id mismatch for SNS-4: GAT-123 != GAT-72
6 | While converting device config
7 | generation specified without scan_interval_sec parameter
8 |
--------------------------------------------------------------------------------
/tests/sites/basic/devices/SNS-4/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for SNS-4
2 | gateway_id mismatch for SNS-4: GAT-123 != GAT-72
3 |
--------------------------------------------------------------------------------
/tests/sites/basic/devices/SNS-4/expected/generated_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "gateway": {},
3 | "pointset": {
4 | "sample_rate_sec": 30
5 | },
6 | "system": {
7 | "metrics_rate_sec": 10,
8 | "min_loglevel": 300,
9 | "operation": {}
10 | },
11 | "timestamp": "2020-05-01T13:39:07Z",
12 | "version": "1.5.3"
13 | }
14 |
--------------------------------------------------------------------------------
/tests/sites/basic/devices/SNS-8/expected/generated_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "gateway": {},
3 | "system": {
4 | "metrics_rate_sec": 10,
5 | "min_loglevel": 300,
6 | "operation": {}
7 | },
8 | "timestamp": "2020-05-01T13:39:07Z",
9 | "version": "1.5.3"
10 | }
11 |
--------------------------------------------------------------------------------
/tests/sites/basic/site_defaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "?system": {
3 | "location": {
4 | "site": "ZZ-TRI-FECTA"
5 | }
6 | },
7 | "?pointset": {
8 | "sample_rate_sec": 30
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/tests/sites/basic/site_metadata.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/tests/sites/configs/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "cloud_region": "us-central1",
3 | "site_name": "ZZ-TRI-FECTA",
4 | "registry_id": "ZZ-TRI-FECTA"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/sites/configs/devices/AHU-22/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for AHU-22
2 | While loading credentials for local device AHU-22
3 | Proxied devices should not have cloud.auth_type defined
4 | 1 schema violations found
5 | /system/location: object has missing required properties (["site"])
6 |
--------------------------------------------------------------------------------
/tests/sites/configs/devices/GAT-123/config/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "blahblah":"blerb"
3 | }
4 |
--------------------------------------------------------------------------------
/tests/sites/configs/devices/GAT-123/expected/generated_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "blahblah": "blerb"
3 | }
4 |
--------------------------------------------------------------------------------
/tests/sites/configs/devices/GAT-456/config/notjson.txt:
--------------------------------------------------------------------------------
1 | plain text
--------------------------------------------------------------------------------
/tests/sites/configs/devices/GAT-456/expected/generated_config.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/configs/devices/GAT-456/expected/generated_config.json
--------------------------------------------------------------------------------
/tests/sites/configs/site_metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "strict_warnings": true
3 | }
4 |
--------------------------------------------------------------------------------
/tests/sites/discovery/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "registry_id": "ZZ-TRI-FECTA",
3 | "site_name": "ZZ-TRI-FECTA"
4 | }
5 |
--------------------------------------------------------------------------------
/tests/sites/discovery/devices/GAT-123/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for GAT-123
2 | While loading credentials for local device GAT-123
3 | Found 0 credentials
4 | expected files mismatch
5 | Missing files: [ec_private.pem, ec_private.pkcs8, ec_public.pem]
6 |
--------------------------------------------------------------------------------
/tests/sites/discovery/registration_summary.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/discovery/registration_summary.json
--------------------------------------------------------------------------------
/tests/sites/downgrade/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "cloud_region": "us-central1",
3 | "site_name": "AA-TEST-SITE",
4 | "registry_id": "AA-TEST-SITE"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/sites/downgrade/devices/.dummy_bad_device/metadata.json:
--------------------------------------------------------------------------------
1 | This file is here to test that this directory is NOT scanned by the tools.
2 |
--------------------------------------------------------------------------------
/tests/sites/downgrade/devices/CGW-12/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for CGW-12
2 | While loading credentials for local device CGW-12
3 | Found 0 credentials
4 | expected files mismatch
5 | Missing files: [rsa_private.pem, rsa_private.pkcs8, rsa_public.pem]
6 |
--------------------------------------------------------------------------------
/tests/sites/downgrade/devices/DDC-54/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for DDC-54
2 | While loading credentials for local device DDC-54
3 | Found 0 credentials
4 | expected files mismatch
5 | Missing files: [rsa_private.pem, rsa_private.pkcs8, rsa_public.pem]
6 |
--------------------------------------------------------------------------------
/tests/sites/downgrade/devices/DWN-3/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for DWN-3
2 | While loading credentials for local device DWN-3
3 | Found 0 credentials
4 | expected files mismatch
5 | Missing files: [rsa_private.pem, rsa_private.pkcs8, rsa_public.pem]
6 |
--------------------------------------------------------------------------------
/tests/sites/downgrade/site_defaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "system": {
3 | "location": {
4 | "site": "US-SFO-XYY"
5 | },
6 | "physical_tag": {
7 | "asset": {
8 | "guid": "bim://04aEp5ymD_$u5IxhJN2aGi",
9 | "site": "US-SFO-XYY",
10 | "name": "AHU-1"
11 | }
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/tests/sites/downgrade/site_metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "strict_warnings": true
3 | }
4 |
--------------------------------------------------------------------------------
/tests/sites/mapping/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "registry_id": "TESTING",
3 | "site_name": "TESTING"
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/tests/sites/mapping/devices/GAT-123/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for GAT-123
2 | While converting device config
3 | unrecognized schema version null
4 | 1 schema violations found
5 | object has missing required properties (["system","version"])
6 |
--------------------------------------------------------------------------------
/tests/sites/mapping/devices/GAT-123/expected/metadata_norm.json:
--------------------------------------------------------------------------------
1 | {
2 | "discovery": {
3 | "families": {
4 | "vendor": {}
5 | }
6 | },
7 | "hash": "aa136fa5",
8 | "timestamp": "2024-04-02T17:30:04Z"
9 | }
10 |
--------------------------------------------------------------------------------
/tests/sites/mapping/devices/GAT-123/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp": "2024-04-02T17:30:04Z",
3 | "hash": "0001d237",
4 | "discovery": {
5 | "families": {
6 | "vendor": {
7 | }
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/tests/sites/mapping/site_metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "strict_warnings": true
3 | }
4 |
--------------------------------------------------------------------------------
/tests/sites/metering/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "registry_id": "ZZ-TRI-FECTA",
3 | "site_name": "ZZ-TRI-FECTA"
4 | }
5 |
--------------------------------------------------------------------------------
/tests/sites/metering/devices/GAT-1/ec_private.pem:
--------------------------------------------------------------------------------
1 | x
2 |
--------------------------------------------------------------------------------
/tests/sites/metering/devices/GAT-1/ec_private.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/metering/devices/GAT-1/ec_private.pkcs8
--------------------------------------------------------------------------------
/tests/sites/metering/devices/GAT-1/ec_public.pem:
--------------------------------------------------------------------------------
1 | FAKE KEY
2 |
--------------------------------------------------------------------------------
/tests/sites/metering/devices/GAT-1/expected/generated_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "gateway": {
3 | "proxy_ids": [
4 | "EM-1"
5 | ]
6 | },
7 | "system": {
8 | "metrics_rate_sec": 10,
9 | "min_loglevel": 300,
10 | "operation": {}
11 | },
12 | "timestamp": "2020-05-01T13:39:07Z",
13 | "version": "1.5.3"
14 | }
15 |
--------------------------------------------------------------------------------
/tests/sites/metering/devices/GAT-1/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp": "2020-05-01T13:39:07Z",
3 | "version": "1.5.3",
4 | "system": {
5 | },
6 | "cloud": {
7 | "auth_type": "ES256",
8 | "resource_type": "GATEWAY"
9 | },
10 | "gateway": {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/tests/sites/metering/devices/SRV-1/ec_private.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/metering/devices/SRV-1/ec_private.pem
--------------------------------------------------------------------------------
/tests/sites/metering/devices/SRV-1/ec_private.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/metering/devices/SRV-1/ec_private.pkcs8
--------------------------------------------------------------------------------
/tests/sites/metering/devices/SRV-1/ec_public.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/metering/devices/SRV-1/ec_public.pem
--------------------------------------------------------------------------------
/tests/sites/metering/devices/TEST-05053/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for TEST-05053
2 | 1 schema violations found
3 | /gateway/gateway_id: ECMA 262 regex "^[A-Z]{2,6}-[1-9][0-9]*$" does not match input string "CGW-05"
4 |
--------------------------------------------------------------------------------
/tests/sites/metering/registration_summary.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/tests/sites/metering/registration_summary.json
--------------------------------------------------------------------------------
/tests/sites/missing/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "cloud_region": "us-central1",
3 | "site_name": "ZZ-TRI-FECTA",
4 | "registry_id": "ZZ-TRI-FECTA"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/sites/missing/devices/GAT-123/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for GAT-123
2 | While loading credentials for local device GAT-123
3 | Found 0 credentials
4 | expected files mismatch
5 | Missing files: [ec_private.pem, ec_private.pkcs8, ec_public.pem]
6 |
--------------------------------------------------------------------------------
/tests/sites/missing/site_defaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "system": {
3 | "location": {
4 | "site": "ZZ-TRI-FECTA"
5 | }
6 | },
7 | "cloud": {
8 | "detail": "site default for unit tests"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/tests/sites/supersimple/cloud_iot_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "cloud_region": "us-central1",
3 | "site_name": "ZZ-TRI-FECTA",
4 | "registry_id": "ZZ-TRI-FECTA"
5 | }
6 |
--------------------------------------------------------------------------------
/tests/sites/supersimple/devices/TPS-1/expected/errors.map:
--------------------------------------------------------------------------------
1 | Exceptions for TPS-1
2 | 1 schema violations found
3 | /system/location/site: ECMA 262 regex "^[A-Z]{2}-[A-Z]{3,4}-[A-Z0-9]{2,9}$" does not match input string "ZZ-TRI-FECTA-AHU"
4 |
--------------------------------------------------------------------------------
/tests/traces/discover/devices/GAT-123/002_state_gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp": "2022-07-19T05:04:40Z",
3 | "version": "1.5.2"
4 | }
5 |
--------------------------------------------------------------------------------
/tests/traces/discover/expected/devices/AHU-22/events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "logentries" : [ {
3 | "message" : "1999-10-20T01:02:03Z sent message #70",
4 | "category" : "device.log_message",
5 | "timestamp" : "1999-10-20T01:02:03Z",
6 | "level" : 200
7 | } ],
8 | "timestamp" : "1999-10-20T01:02:03Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/tests/traces/discover/expected/devices/GAT-123/state_gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "1999-10-20T01:02:03Z",
3 | "version" : "1.5.2"
4 | }
--------------------------------------------------------------------------------
/tests/traces/discover/expected/devices/GAT-123/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceNumId" : "00000528111775",
3 | "subFolder" : "system",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA",
5 | "subType" : "state",
6 | "msgSource" : "004_state_system.json",
7 | "deviceId" : "GAT-123",
8 | "projectId" : "playback-project"
9 | }
--------------------------------------------------------------------------------
/tests/traces/discover/expected/devices/SNS-4/events_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "exception" : "Unexpected character ('{' (code 123)): was expecting double-quote to start field name at [Source: (File); line: 1, column: 3]",
3 | "message" : "Reading from tests/traces/simple/devices/SNS-4/002_events_discovery.json",
4 | "timestamp" : "1999-10-20T01:02:03Z"
5 | }
--------------------------------------------------------------------------------
/tests/traces/discover/expected/devices/SNS-4/events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "logentries" : [ {
3 | "message" : "1999-10-20T01:02:03Z sent message #70",
4 | "category" : "device.logMessage",
5 | "timestamp" : "1999-10-20T01:02:03Z",
6 | "level" : 200
7 | } ],
8 | "timestamp" : "1999-10-20T01:02:03Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/tests/traces/simple/devices/AHU-22/002_events_pointset.json:
--------------------------------------------------------------------------------
1 | {
2 | "points" : {
3 | "filter_alarm_pressure_status" : {
4 | "present_value" : false
5 | },
6 | "filter_differential_pressure_sensor" : {
7 | "present_value" : 76
8 | }
9 | },
10 | "timestamp" : "2022-07-19T05:04:29Z",
11 | "version" : "1.5.2"
12 | }
13 |
--------------------------------------------------------------------------------
/tests/traces/simple/devices/AHU-22/003_events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "logentries" : [ {
3 | "message" : "2022-07-19T05:04:39Z sent message #70",
4 | "category" : "device.log_message",
5 | "timestamp" : "2022-07-19T05:04:32Z",
6 | "level" : 200
7 | } ],
8 | "timestamp" : "2022-07-19T05:04:39Z",
9 | "version" : "1.5.2"
10 | }
11 |
--------------------------------------------------------------------------------
/tests/traces/simple/devices/GAT-123/002_state_gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp": "2022-07-19T05:04:40Z",
3 | "version": "1.5.2"
4 | }
5 |
--------------------------------------------------------------------------------
/tests/traces/simple/devices/GAT-123/005_reply_update.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp": "2024-10-27T10:00:00Z",
3 | "version": "1.5.2",
4 | "resource_type": "DEVICE",
5 | "operation": "REPLY"
6 | }
--------------------------------------------------------------------------------
/tests/traces/simple/devices/SNS-4/003_events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "logentries" : [ {
3 | "message" : "2022-07-19T05:04:39Z sent message #70",
4 | "category" : "device.logMessage",
5 | "timestamp" : "2022-07-19T05:04:39Z",
6 | "level" : 200
7 | } ],
8 | "timestamp" : "2022-07-19T05:04:39Z",
9 | "version" : "1.5.2"
10 | }
11 |
--------------------------------------------------------------------------------
/tests/traces/simple/expected/devices/AHU-22/events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "logentries" : [ {
3 | "message" : "1999-10-20T01:02:03Z sent message #70",
4 | "category" : "device.log_message",
5 | "timestamp" : "1999-10-20T01:02:03Z",
6 | "level" : 200
7 | } ],
8 | "timestamp" : "1999-10-20T01:02:03Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/tests/traces/simple/expected/devices/GAT-123/state_gateway.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "1999-10-20T01:02:03Z",
3 | "version" : "1.5.2"
4 | }
--------------------------------------------------------------------------------
/tests/traces/simple/expected/devices/GAT-123/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceNumId" : "00000528111775",
3 | "subFolder" : "system",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA",
5 | "subType" : "state",
6 | "msgSource" : "004_state_system.json",
7 | "deviceId" : "GAT-123",
8 | "projectId" : "playback-project"
9 | }
--------------------------------------------------------------------------------
/tests/traces/simple/expected/devices/SNS-4/events_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "exception" : "Unexpected character ('{' (code 123)): was expecting double-quote to start field name at [Source: (File); line: 1, column: 3]",
3 | "message" : "Reading from tests/traces/simple/devices/SNS-4/002_events_discovery.json",
4 | "timestamp" : "1999-10-20T01:02:03Z"
5 | }
--------------------------------------------------------------------------------
/tests/traces/simple/expected/devices/SNS-4/events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "logentries" : [ {
3 | "message" : "1999-10-20T01:02:03Z sent message #70",
4 | "category" : "device.logMessage",
5 | "timestamp" : "1999-10-20T01:02:03Z",
6 | "level" : 200
7 | } ],
8 | "timestamp" : "1999-10-20T01:02:03Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/tests/traces/upgrade/devices/AHU-1/002_state_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "firmware" : {
3 | "version" : [ "D_IP_BW6_V35_6_S14" ]
4 | },
5 | "last_config" : "2021-05-14T15:53:26Z",
6 | "make_model" : "Delmatic IP_BW6",
7 | "operational" : true
8 | }
9 |
--------------------------------------------------------------------------------
/tests/traces/upgrade/expected/devices/AHU-1/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceNumId" : "00000062256946",
3 | "subFolder" : "system",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA",
5 | "subType" : "state",
6 | "msgSource" : "002_state_system.json",
7 | "deviceId" : "AHU-1",
8 | "projectId" : "playback-project"
9 | }
--------------------------------------------------------------------------------
/tests/traces/upgrade/expected/devices/AHU-1/state_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "firmware" : {
3 | "version" : [ "D_IP_BW6_V35_6_S14" ]
4 | },
5 | "last_config" : "1999-10-20T01:02:03Z",
6 | "make_model" : "Delmatic IP_BW6",
7 | "operational" : true,
8 | "timestamp" : "2023-03-02T19:27:38.819Z"
9 | }
--------------------------------------------------------------------------------
/udmis/.gitignore:
--------------------------------------------------------------------------------
1 | venv/
2 |
3 | /*.log
4 | .attributes.json
5 | functions/version.js
6 |
--------------------------------------------------------------------------------
/udmis/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/udmis/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/udmis/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/udmis/.idea/runConfigurations/BaselineValidator.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/udmis/.idea/runConfigurations/BaselineValidator.xml
--------------------------------------------------------------------------------
/udmis/.idea/runConfigurations/_template__of_Application.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/udmis/etc/dev_pod.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": "prod_pod.json",
3 | "flows": {
4 | "distributor": {
5 | "enabled": "false"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/udmis/etc/k8s_account.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ServiceAccount
3 | metadata:
4 | annotations:
5 | iam.gke.io/gcp-service-account: udmi-service@@GCP_PROJECT@.iam.gserviceaccount.com
6 | name: default
7 |
--------------------------------------------------------------------------------
/udmis/etc/k8s_config.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: config
5 | data:
6 | BITBOX_DISCOVERY:
7 | ETCD_CLUSTER:
8 | UDMI_NAMESPACE: @UDMI_NAMESPACE@
9 |
--------------------------------------------------------------------------------
/udmis/etc/peringknife~k8s_config.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: config
5 | data:
6 | BITBOX_DISCOVERY: prodev~udmi_target-discover
7 | UDMI_NAMESPACE: @UDMI_NAMESPACE@
8 |
--------------------------------------------------------------------------------
/udmis/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/udmis/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/udmis/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Feb 11 09:15:14 PST 2020
2 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
3 | distributionBase=GRADLE_USER_HOME
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/udmis/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'udmis'
2 |
--------------------------------------------------------------------------------
/udmis/src/main/java/com/google/bos/udmi/monitoring/LogTailBase.java:
--------------------------------------------------------------------------------
1 | package com.google.bos.udmi.monitoring;
2 |
3 | import com.google.bos.udmi.service.pod.ContainerBase;
4 |
5 | /**
6 | * Extend ContainerBase with UDMI Monitoring specific functions.
7 | */
8 | public class LogTailBase extends ContainerBase {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/udmis/src/test/configs/localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2020-05-01T13:39:07Z",
3 | "version" : "1.3.14",
4 | "localnet" : {
5 | "families" : {
6 | "virtual" : {
7 | "id" : "0x65"
8 | }
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/validator/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/validator/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/validator/.idea/runConfigurations/BaselineValidator.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/validator/.idea/runConfigurations/BaselineValidator.xml
--------------------------------------------------------------------------------
/validator/.idea/runConfigurations/_template__of_Application.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/validator/etc/sshconfig:
--------------------------------------------------------------------------------
1 | Host *
2 | StrictHostKeyChecking no
3 |
--------------------------------------------------------------------------------
/validator/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faucetsdn/udmi/046a893094a00a7afd7dc01abf2b070414dad6fc/validator/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/validator/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Feb 11 09:15:14 PST 2020
2 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
3 | distributionBase=GRADLE_USER_HOME
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/validator/sequences/bad_point_ref/device_system.log:
--------------------------------------------------------------------------------
1 | 2024-11-06T17:32:54Z WARNING validation.feature.sequence Not a proxied device
2 |
--------------------------------------------------------------------------------
/validator/sequences/bad_point_ref/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## bad_point_ref (PREVIEW)
3 |
4 | Error handling for badly formed gateway point ref
5 |
6 |
7 | Test skipped: Not a proxied device
8 |
--------------------------------------------------------------------------------
/validator/sequences/bad_target_address/device_system.log:
--------------------------------------------------------------------------------
1 | 2024-11-06T17:33:12Z WARNING validation.feature.sequence Not a proxied device
2 |
--------------------------------------------------------------------------------
/validator/sequences/bad_target_address/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## bad_target_address (PREVIEW)
3 |
4 | Error handling for badly formed gateway target address
5 |
6 |
7 | Test skipped: Not a proxied device
8 |
--------------------------------------------------------------------------------
/validator/sequences/bad_target_family/device_system.log:
--------------------------------------------------------------------------------
1 | 2024-11-06T17:33:17Z WARNING validation.feature.sequence Not a proxied device
2 |
--------------------------------------------------------------------------------
/validator/sequences/bad_target_family/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## bad_target_family (PREVIEW)
3 |
4 | Error handling for badly formed gateway target family
5 |
6 |
7 | Test skipped: Not a proxied device
8 |
--------------------------------------------------------------------------------
/validator/sequences/broken_config/events_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ea00b649",
7 | "publishTime" : "2024-12-01T09:20:09Z",
8 | "subFolder" : "pointset",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:f87e0c1a",
7 | "publishTime" : "2024-12-01T09:20:09Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-01T09:19:18Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "broken_config"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/state_localnet.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:66995e09-1",
7 | "publishTime" : "2024-12-01T09:20:11Z",
8 | "subFolder" : "localnet",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/state_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:2086393c-2",
7 | "publishTime" : "2024-12-01T09:20:03Z",
8 | "subFolder" : "pointset",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:66995e09-0",
7 | "publishTime" : "2024-12-01T09:20:11Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/broken_config/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:66995e09",
7 | "publishTime" : "2024-12-01T09:20:11Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/events_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:93e0991e",
7 | "publishTime" : "2024-11-30T14:13:17Z",
8 | "subFolder" : "pointset",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:6f53decf",
7 | "publishTime" : "2024-11-30T14:13:17Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-30T14:12:45Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "config_logging"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/state_localnet.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:adae276d-1",
7 | "publishTime" : "2024-11-30T14:13:11Z",
8 | "subFolder" : "localnet",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/state_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:adae276d-2",
7 | "publishTime" : "2024-11-30T14:13:11Z",
8 | "subFolder" : "pointset",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:adae276d-0",
7 | "publishTime" : "2024-11-30T14:13:11Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/config_logging/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:adae276d",
7 | "publishTime" : "2024-11-30T14:13:11Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/device_config_acked/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/device_config_acked/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:44Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "device_config_acked"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/device_config_acked/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## device_config_acked (STABLE)
3 |
4 | Check that the device MQTT-acknowledges a sent config.
5 |
6 | 1. Wait for config acked
7 |
8 | Test passed.
9 |
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/config_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/config_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/config_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/config_pointset.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/config_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2025-06-10T17:06:52Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_bad_alternate"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/state_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "final",
5 | "generation" : "2025-06-10T17:08:10Z"
6 | }
7 | },
8 | "timestamp" : "2025-06-10T17:08:32Z",
9 | "version" : "1.5.3"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:34Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/state_validation.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/config_update_2025-06-10T17:07:11Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/config_update_2025-06-10T17:07:59Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2025-06-10T17:07:59Z",
3 | "version" : "git-19f6e85"
4 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/config_update_2025-06-10T17:08:01Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/config_update_2025-06-10T17:08:29Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2025-06-10T17:08:29Z",
3 | "version" : "git-19f6e85"
4 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/config_update_2025-06-10T17:08:32Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/state_discovery_2025-06-10T17:07:58Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:58Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/stray/state_update_2025-06-10T17:08:00Z.bad:
--------------------------------------------------------------------------------
1 | Unexpected device state change: Remove `discovery`
2 | Unexpected device state change: Remove `pointset`
3 | Unexpected device state change: Remove `localnet`
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_blobset_2025-06-10T17:07:30Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_blobset_2025-06-10T17:08:11Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_blobset_2025-06-10T17:08:33Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_discovery_2025-06-10T17:07:23Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_localnet_2025-06-10T17:07:26Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_pointset_2025-06-10T17:07:24Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_system_2025-06-10T17:07:25Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_update_2025-06-10T17:07:12Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_update_2025-06-10T17:07:17Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_update_2025-06-10T17:07:58Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2025-06-10T17:07:58Z",
3 | "version" : "git-19f6e85"
4 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_update_2025-06-10T17:08:01Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/config_update_2025-06-10T17:08:32Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobset" : {
3 | "blobs" : { }
4 | },
5 | "timestamp" : "2025-06-10T17:08:32Z",
6 | "version" : "git-19f6e85"
7 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/local_blobset_2025-06-10T17:08:32Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/local_discovery_2025-06-10T17:07:22Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/local_localnet_2025-06-10T17:07:22Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/local_system_2025-06-10T17:07:22Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2025-06-10T17:06:52Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_bad_alternate"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_blobset_2025-06-10T17:07:34Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "apply",
5 | "generation" : "2025-06-10T17:07:27Z"
6 | }
7 | },
8 | "timestamp" : "2025-06-10T17:07:34Z",
9 | "version" : "1.5.3"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_blobset_2025-06-10T17:08:18Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "apply",
5 | "generation" : "2025-06-10T17:08:10Z"
6 | }
7 | },
8 | "timestamp" : "2025-06-10T17:08:18Z",
9 | "version" : "1.5.3"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_blobset_2025-06-10T17:08:28Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "final",
5 | "generation" : "2025-06-10T17:08:10Z"
6 | }
7 | },
8 | "timestamp" : "2025-06-10T17:08:28Z",
9 | "version" : "1.5.3"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_blobset_2025-06-10T17:08:32Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "final",
5 | "generation" : "2025-06-10T17:08:10Z"
6 | }
7 | },
8 | "timestamp" : "2025-06-10T17:08:32Z",
9 | "version" : "1.5.3"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:04Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:04Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:06Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:06Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:11Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:11Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:13Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:13Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:17Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:17Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:19Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:19Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:22Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:22Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:24Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:24Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:26Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:26Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:29Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:29Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:31Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:31Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_discovery_2025-06-10T17:07:34Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:07:34Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_alternate/trace/state_validation_2025-06-10T17:07:04Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/config_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/config_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/config_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/config_pointset.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/config_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2025-06-10T17:07:52Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_bad_hash"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:22Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/state_validation.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/stray/config_update_2025-06-10T17:08:10Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/stray/state_discovery_2025-06-10T17:08:06Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:06Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_blobset_2025-06-10T17:08:22Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_discovery_2025-06-10T17:08:21Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_localnet_2025-06-10T17:08:23Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_pointset_2025-06-10T17:08:23Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_system_2025-06-10T17:08:21Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_update_2025-06-10T17:08:11Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/config_update_2025-06-10T17:08:16Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/local_discovery_2025-06-10T17:08:20Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/local_localnet_2025-06-10T17:08:20Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/local_system_2025-06-10T17:08:20Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2025-06-10T17:07:52Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_bad_hash"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:04Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:04Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:10Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:10Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:12Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:12Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:15Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:15Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:17Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:17Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:20Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:20Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_discovery_2025-06-10T17:08:22Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T17:08:22Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_bad_hash/trace/state_validation_2025-06-10T17:08:04Z.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_error/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_error/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_error/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:48Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_error"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_retry/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_retry/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_retry/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:41Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_retry"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_alternate/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_alternate/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_alternate/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_alternate/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-20T09:54:41Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_success_alternate"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_alternate/state_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "final",
5 | "generation" : "2024-12-20T09:55:33Z"
6 | }
7 | },
8 | "timestamp" : "2024-12-20T09:55:51Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_alternate/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-20T09:55:51Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_reconnect/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_reconnect/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_reconnect/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_reconnect/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-20T09:54:40Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "endpoint_connection_success_reconnect"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_reconnect/state_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "final",
5 | "generation" : "2024-12-20T09:55:02Z"
6 | }
7 | },
8 | "timestamp" : "2024-12-20T09:55:15Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_connection_success_reconnect/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-20T09:55:15Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_failure_and_restart/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_failure_and_restart/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_failure_and_restart/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "mode" : "active",
6 | "last_start" : "2024-11-06T17:32:41Z"
7 | },
8 | "testing" : {
9 | "sequence_name" : "endpoint_failure_and_restart"
10 | }
11 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_redirect_and_restart/local_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : { }
3 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_redirect_and_restart/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_redirect_and_restart/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_redirect_and_restart/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "mode" : "active",
6 | "last_start" : "2024-12-20T09:55:34Z"
7 | },
8 | "testing" : {
9 | "sequence_name" : "endpoint_redirect_and_restart"
10 | }
11 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_redirect_and_restart/state_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "final",
5 | "generation" : "2024-12-20T09:55:46Z"
6 | }
7 | },
8 | "timestamp" : "2024-12-20T09:56:03Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/endpoint_redirect_and_restart/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-20T09:56:03Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_2",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:e09bf6ce",
7 | "publishTime" : "2024-12-11T05:44:13Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "enumerations" : {
3 | "families" : "entries"
4 | },
5 | "families" : {
6 | "vendor" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-11T05:43:00Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "enumerate_families"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/state_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "apply",
5 | "generation" : "2024-12-11T05:43:38Z"
6 | }
7 | },
8 | "timestamp" : "2024-12-11T05:43:42Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "generation" : "2024-12-11T05:44:12Z",
4 | "timestamp" : "2024-12-11T05:44:14Z",
5 | "version" : "1.5.2"
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_2",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:095cd7a2-0",
7 | "publishTime" : "2024-12-11T05:44:16Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_families/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_2",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:095cd7a2",
7 | "publishTime" : "2024-12-11T05:44:16Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_3",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:42c99668",
7 | "publishTime" : "2024-12-11T05:44:05Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "enumerations" : {
3 | "features" : "entries"
4 | },
5 | "families" : {
6 | "vendor" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-11T05:43:03Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "enumerate_features"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "generation" : "2024-12-11T05:44:03Z",
4 | "timestamp" : "2024-12-11T05:44:05Z",
5 | "version" : "1.5.2"
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_3",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:460a096c-0",
7 | "publishTime" : "2024-12-11T05:44:07Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_features/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_3",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:460a096c",
7 | "publishTime" : "2024-12-11T05:44:07Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_4",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:973b82f3",
7 | "publishTime" : "2024-12-11T05:44:58Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "enumerations" : {
3 | "families" : "entries",
4 | "points" : "entries",
5 | "features" : "entries"
6 | },
7 | "families" : {
8 | "vendor" : { }
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-11T05:44:10Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "enumerate_multi"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "generation" : "2024-12-11T05:44:57Z",
4 | "timestamp" : "2024-12-11T05:44:59Z",
5 | "version" : "1.5.2"
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_4",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:d2058b67-0",
7 | "publishTime" : "2024-12-11T05:44:59Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_multi/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_4",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:f458109d",
7 | "publishTime" : "2024-12-11T05:45:01Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/events_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "generation" : "2024-12-11T05:44:42Z",
3 | "scan_family" : "iot",
4 | "timestamp" : "2024-12-11T05:44:43Z",
5 | "version" : "1.5.2"
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_5",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:867fa74e",
7 | "publishTime" : "2024-12-11T05:44:43Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "enumerations" : { },
3 | "families" : {
4 | "vendor" : { }
5 | }
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-11T05:43:51Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "enumerate_nothing"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/state_blobset.json:
--------------------------------------------------------------------------------
1 | {
2 | "blobs" : {
3 | "_iot_endpoint_config" : {
4 | "phase" : "apply",
5 | "generation" : "2024-12-11T05:44:03Z"
6 | }
7 | },
8 | "timestamp" : "2024-12-11T05:44:12Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "generation" : "2024-12-11T05:44:42Z",
4 | "timestamp" : "2024-12-11T05:44:44Z",
5 | "version" : "1.5.2"
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_5",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:452681a4-0",
7 | "publishTime" : "2024-12-11T05:44:44Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_nothing/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_5",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:69079b4c",
7 | "publishTime" : "2024-12-11T05:44:46Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:6cfcf7cc",
7 | "publishTime" : "2024-12-11T05:44:36Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "enumerations" : {
3 | "points" : "entries"
4 | },
5 | "families" : {
6 | "vendor" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-11T05:43:05Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "enumerate_pointset"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "generation" : "2024-12-11T05:44:35Z",
4 | "timestamp" : "2024-12-11T05:44:37Z",
5 | "version" : "1.5.2"
6 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:02f87012-0",
7 | "publishTime" : "2024-12-11T05:44:37Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/enumerate_pointset/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:df2a0e31",
7 | "publishTime" : "2024-12-11T05:44:39Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/events_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:90b3ae28",
7 | "publishTime" : "2024-12-17T05:26:26Z",
8 | "subFolder" : "pointset",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:088e9aa1",
7 | "publishTime" : "2024-12-17T05:26:26Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-17T05:25:35Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "extra_config"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/state_discovery.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ad685211-1",
7 | "publishTime" : "2024-12-17T05:26:24Z",
8 | "subFolder" : "discovery",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-17T05:26:24Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/state_localnet.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ad685211-2",
7 | "publishTime" : "2024-12-17T05:26:24Z",
8 | "subFolder" : "localnet",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/state_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ad685211-3",
7 | "publishTime" : "2024-12-17T05:26:24Z",
8 | "subFolder" : "pointset",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ad685211-0",
7 | "publishTime" : "2024-12-17T05:26:24Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/extra_config/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ccc1017c",
7 | "publishTime" : "2024-12-17T05:26:26Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_3",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:e36412d1",
7 | "publishTime" : "2024-12-20T09:56:12Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-20T09:54:40Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "family_ether_addr"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## family_ether_addr (PREVIEW)
3 |
4 | 1. Wait until device state localnet family ether is available
5 | 1. Check that family ether address matches
6 |
7 | Test passed.
8 |
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-20T09:56:16Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_3",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:e3abbb60-0",
7 | "publishTime" : "2024-12-20T09:56:16Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ether_addr/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_3",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:b95127e2",
7 | "publishTime" : "2024-12-20T09:56:18Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_4",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:8b9e796c",
7 | "publishTime" : "2024-12-20T09:56:52Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-20T09:55:25Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "family_ipv4_addr"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## family_ipv4_addr (PREVIEW)
3 |
4 | 1. Wait until device state localnet family ipv4 is available
5 | 1. Check that family ipv4 address matches
6 |
7 | Test passed.
8 |
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-20T09:56:53Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_4",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:23df3ae6-0",
7 | "publishTime" : "2024-12-20T09:56:55Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv4_addr/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_4",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:23df3ae6",
7 | "publishTime" : "2024-12-20T09:56:55Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv6_addr/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_8",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:e18d9e98",
7 | "publishTime" : "2024-12-09T01:27:44Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv6_addr/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## family_ipv6_addr (PREVIEW)
3 |
4 |
5 | Test skipped: No ipv6 address defined in metadata
6 |
--------------------------------------------------------------------------------
/validator/sequences/family_ipv6_addr/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_8",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:985405da-0",
7 | "publishTime" : "2024-12-09T01:27:53Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/family_ipv6_addr/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_8",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:985405da",
7 | "publishTime" : "2024-12-09T01:27:53Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/gateway_attach_handling/device_system.log:
--------------------------------------------------------------------------------
1 | 2024-11-06T17:36:12Z WARNING validation.feature.sequence Not a gateway
2 |
--------------------------------------------------------------------------------
/validator/sequences/gateway_attach_handling/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## gateway_attach_handling (ALPHA)
3 |
4 | Check adequate logging for gateway detach, errors, and reattach
5 |
6 |
7 | Test skipped: Not a gateway
8 |
--------------------------------------------------------------------------------
/validator/sequences/gateway_proxy_events/device_system.log:
--------------------------------------------------------------------------------
1 | 2024-11-06T17:33:12Z WARNING validation.feature.sequence Not a gateway
2 |
--------------------------------------------------------------------------------
/validator/sequences/gateway_proxy_events/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## gateway_proxy_events (BETA)
3 |
4 | Check that a gateway proxies pointset events for indicated devices
5 |
6 |
7 | Test skipped: Not a gateway
8 |
--------------------------------------------------------------------------------
/validator/sequences/gateway_proxy_state/device_system.log:
--------------------------------------------------------------------------------
1 | 2024-11-06T17:33:17Z WARNING validation.feature.sequence Not a gateway
2 |
--------------------------------------------------------------------------------
/validator/sequences/gateway_proxy_state/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## gateway_proxy_state (PREVIEW)
3 |
4 | Check that a gateway proxies state updates for indicated devices
5 |
6 |
7 | Test skipped: Not a gateway
8 |
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:4f84680d",
7 | "publishTime" : "2024-11-06T17:33:04Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:53Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "pointset_publish"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## pointset_publish (STABLE)
3 |
4 | Check that a device publishes pointset events
5 |
6 | 1. Wait for receive a pointset event
7 |
8 | Test passed.
9 |
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:39f90173-0",
7 | "publishTime" : "2024-11-06T17:33:01Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:39f90173",
7 | "publishTime" : "2024-11-06T17:33:01Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish_interval/events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "event_no" : 21,
3 | "last_config" : "2024-11-06T17:34:02Z",
4 | "logentries" : [ ],
5 | "metrics" : {
6 | "mem_total_mb" : 254.0,
7 | "mem_free_mb" : 174.37345123291016
8 | },
9 | "timestamp" : "2024-11-06T17:35:10Z",
10 | "version" : "1.5.2"
11 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish_interval/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_publish_interval/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:48Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "pointset_publish_interval"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_remove_point/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_remove_point/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:41Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "pointset_remove_point"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_request_extraneous/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_request_extraneous/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_request_extraneous/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-17T05:25:35Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "pointset_request_extraneous"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/pointset_request_extraneous/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "phase" : "stopped",
5 | "active_count" : 3
6 | }
7 | },
8 | "timestamp" : "2024-12-17T05:27:58Z",
9 | "version" : "1.5.2"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_periodic_now_enumerate/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2024-12-11T05:44:06Z",
5 | "scan_interval_sec" : 20,
6 | "scan_duration_sec" : 20,
7 | "depth" : "entries"
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_periodic_now_enumerate/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_periodic_now_enumerate/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-11T05:43:02Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "scan_periodic_now_enumerate"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_periodic_now_enumerate/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2024-12-11T05:44:46Z",
5 | "phase" : "active",
6 | "active_count" : 1
7 | }
8 | },
9 | "timestamp" : "2024-12-11T05:44:46Z",
10 | "version" : "1.5.2"
11 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/events_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "generation" : "2024-12-17T05:26:45Z",
3 | "scan_addr" : "28179023",
4 | "scan_family" : "vendor",
5 | "system" : {
6 | "ancillary" : {
7 | "device-name" : "AHU-1"
8 | }
9 | },
10 | "timestamp" : "2024-12-17T05:26:45Z",
11 | "version" : "1.5.2"
12 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_8",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:8709d979",
7 | "publishTime" : "2024-12-17T05:26:45Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2024-12-17T05:26:45Z",
5 | "scan_duration_sec" : 10
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-17T05:25:34Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "scan_single_future"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2024-12-17T05:26:45Z",
5 | "phase" : "active",
6 | "active_count" : 3
7 | }
8 | },
9 | "timestamp" : "2024-12-17T05:26:47Z",
10 | "version" : "1.5.2"
11 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_8",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:50ab3f0c-0",
7 | "publishTime" : "2024-12-17T05:26:47Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_future/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_8",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:2161614f",
7 | "publishTime" : "2024-12-17T05:26:55Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/events_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "generation" : "2024-12-17T05:26:53Z",
3 | "scan_addr" : "0x65",
4 | "scan_family" : "vendor",
5 | "system" : {
6 | "ancillary" : {
7 | "device-name" : "AHU-22"
8 | }
9 | },
10 | "timestamp" : "2024-12-17T05:27:06Z",
11 | "version" : "1.5.2"
12 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:0a3ea0bf",
7 | "publishTime" : "2024-12-17T05:27:16Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2024-12-17T05:26:53Z",
5 | "scan_duration_sec" : 10
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-17T05:25:35Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "scan_single_now"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2024-12-17T05:26:53Z",
5 | "phase" : "active",
6 | "active_count" : 3
7 | }
8 | },
9 | "timestamp" : "2024-12-17T05:27:08Z",
10 | "version" : "1.5.2"
11 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:dbde3007-0",
7 | "publishTime" : "2024-12-17T05:27:08Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_now/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_9",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:c870b70d",
7 | "publishTime" : "2024-12-17T05:27:16Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_0",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:fa1fe077",
7 | "publishTime" : "2024-12-17T05:27:27Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : {
4 | "generation" : "2021-01-28T20:42:28Z",
5 | "scan_duration_sec" : 10
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-17T05:25:25Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "scan_single_past"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-17T05:27:29Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_0",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:dec9b20d-0",
7 | "publishTime" : "2024-12-17T05:27:31Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/scan_single_past/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_0",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:dec9b20d",
7 | "publishTime" : "2024-12-17T05:27:31Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_make_model/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:e5aed515",
7 | "publishTime" : "2024-11-06T17:33:18Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_make_model/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## state_make_model (STABLE)
3 |
4 | Check that a device publishes correct make and model information in state messages
5 |
6 | 1. Check that make and model in state matches make in metadata
7 |
8 | Test passed.
9 |
--------------------------------------------------------------------------------
/validator/sequences/state_make_model/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:1a23e984-0",
7 | "publishTime" : "2024-11-06T17:33:20Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_make_model/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_6",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:1a23e984",
7 | "publishTime" : "2024-11-06T17:33:20Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_software/events_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:c047856a",
7 | "publishTime" : "2024-11-06T17:33:05Z",
8 | "subFolder" : "pointset",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_software/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:2f90f463",
7 | "publishTime" : "2024-11-06T17:33:05Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_software/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## state_software (STABLE)
3 |
4 | Check that a device publishes correct software information in state messages
5 |
6 | 1. Check that software in metadata matches state
7 |
8 | Test passed.
9 |
--------------------------------------------------------------------------------
/validator/sequences/state_software/state_localnet.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:0838a8ff-1",
7 | "publishTime" : "2024-11-06T17:33:04Z",
8 | "subFolder" : "localnet",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_software/state_pointset.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:0838a8ff-2",
7 | "publishTime" : "2024-11-06T17:33:04Z",
8 | "subFolder" : "pointset",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_software/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ffe164e3-0",
7 | "publishTime" : "2024-11-06T17:33:06Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/state_software/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_7",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:ffe164e3",
7 | "publishTime" : "2024-11-06T17:33:06Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/system_last_update/events_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_0",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:0bcdaca5",
7 | "publishTime" : "2024-11-06T17:33:00Z",
8 | "subFolder" : "system",
9 | "subType" : "events"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/system_last_update/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/system_last_update/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:48Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "system_last_update"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/system_last_update/state_system.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_0",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:b7ff0c90-0",
7 | "publishTime" : "2024-11-06T17:33:08Z",
8 | "subFolder" : "system",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/system_min_loglevel/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/system_min_loglevel/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/system_min_loglevel/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-17T05:27:51Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "system_min_loglevel"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/system_min_loglevel/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-17T05:28:34Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/config_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/config_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/config_pointset.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/config_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "mode" : "active",
6 | "last_start" : "2025-06-10T19:55:06Z"
7 | },
8 | "testing" : {
9 | "sequence_name" : "system_mode_restart"
10 | }
11 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2025-06-10T19:55:13Z",
4 | "version" : "1.5.3"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/system_mode_restart/state_validation.json:
--------------------------------------------------------------------------------
1 | {
2 | "operation" : "REPLY"
3 | }
--------------------------------------------------------------------------------
/validator/sequences/too_much_state/events_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "event_no" : 9,
3 | "last_config" : "2024-11-06T17:35:39Z",
4 | "logentries" : [ ],
5 | "metrics" : {
6 | "mem_total_mb" : 254.0,
7 | "mem_free_mb" : 212.8872833251953
8 | },
9 | "timestamp" : "2024-11-06T17:36:26Z",
10 | "version" : "1.5.2"
11 | }
--------------------------------------------------------------------------------
/validator/sequences/too_much_state/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/too_much_state/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:35:05Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "too_much_state"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/too_much_state/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## too_much_state (ALPHA)
3 |
4 | Check that state messages aren't spuriously reported too frequently
5 |
6 | 1. Wait for system accumulating state events for 60s
7 | 1. Check that No more than 6 state updates in 60s
8 |
9 | Test passed.
10 |
--------------------------------------------------------------------------------
/validator/sequences/too_much_state/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_1",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:d62a2d3f",
7 | "publishTime" : "2024-11-06T17:35:39Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/valid_serial_no/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "ipv6" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/valid_serial_no/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 200,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-11-06T17:31:41Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "valid_serial_no"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/valid_serial_no/sequence.md:
--------------------------------------------------------------------------------
1 |
2 | ## valid_serial_no (STABLE)
3 |
4 | 1. Wait for received serial number matches
5 |
6 | Test passed.
7 |
--------------------------------------------------------------------------------
/validator/sequences/valid_serial_no/state_update.attr:
--------------------------------------------------------------------------------
1 | {
2 | "deviceId" : "AHU-1",
3 | "deviceNumId" : "123456789101112",
4 | "deviceRegistryId" : "ZZ-TRI-FECTA_1",
5 | "projectId" : "localhost",
6 | "transactionId" : "MP:5aa464ce",
7 | "publishTime" : "2024-11-06T17:33:13Z",
8 | "subFolder" : "update",
9 | "subType" : "state"
10 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_failure/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_failure/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_failure/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-18T15:32:27Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "writeback_failure"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_failure/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-18T15:33:00Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_invalid/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_invalid/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_invalid/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-18T15:32:03Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "writeback_invalid"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_invalid/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-18T15:32:35Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_success/local_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "vendor" : { }
4 | }
5 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_success/local_localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : {
3 | "ether" : { },
4 | "ipv4" : { },
5 | "vendor" : { },
6 | "bacnet" : { }
7 | }
8 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_success/local_system.json:
--------------------------------------------------------------------------------
1 | {
2 | "min_loglevel" : 100,
3 | "metrics_rate_sec" : 10,
4 | "operation" : {
5 | "last_start" : "2024-12-18T15:33:43Z"
6 | },
7 | "testing" : {
8 | "sequence_name" : "writeback_success"
9 | }
10 | }
--------------------------------------------------------------------------------
/validator/sequences/writeback_success/state_discovery.json:
--------------------------------------------------------------------------------
1 | {
2 | "families" : { },
3 | "timestamp" : "2024-12-18T15:34:17Z",
4 | "version" : "1.5.2"
5 | }
--------------------------------------------------------------------------------
/validator/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'validator'
2 |
--------------------------------------------------------------------------------
/validator/src/main/java/com/google/bos/iot/core/proxy/ProjectMetadata.java:
--------------------------------------------------------------------------------
1 | package com.google.bos.iot.core.proxy;
2 |
3 | import java.util.HashMap;
4 |
5 | /**
6 | * Collection of metadata for a given project.
7 | */
8 | public class ProjectMetadata extends HashMap {
9 | }
10 |
--------------------------------------------------------------------------------
/validator/src/main/java/com/google/bos/iot/core/proxy/ProxyConfig.java:
--------------------------------------------------------------------------------
1 | package com.google.bos.iot.core.proxy;
2 |
3 | /**
4 | * Basic configuration for proxy.
5 | */
6 | public class ProxyConfig {
7 | public String dstProjectId;
8 | public String dstRegistryId;
9 | public String dstCloudRegion;
10 | }
11 |
--------------------------------------------------------------------------------
/validator/src/main/java/com/google/daq/mqtt/sequencer/Capability.java:
--------------------------------------------------------------------------------
1 | package com.google.daq.mqtt.sequencer;
2 |
3 | /**
4 | * Simple marker interface for handling capabilities.
5 | */
6 | public interface Capability {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/validator/src/main/java/com/google/daq/mqtt/sequencer/DiscoveryScanMode.java:
--------------------------------------------------------------------------------
1 | package com.google.daq.mqtt.sequencer;
2 |
3 | /**
4 | * Basic enumeration to capture some of the kinds of scans to be tested.
5 | */
6 | public enum DiscoveryScanMode {
7 | NO_SCAN, NO_ENUMERATION, PLEASE_ENUMERATE
8 | }
9 |
--------------------------------------------------------------------------------
/validator/src/main/java/com/google/daq/mqtt/util/PublishPriority.java:
--------------------------------------------------------------------------------
1 | package com.google.daq.mqtt.util;
2 |
3 | /**
4 | * Simple indicator enum for publishing high-priority messages.
5 | */
6 | public enum PublishPriority {
7 | NORMAL, HIGH
8 | }
9 |
--------------------------------------------------------------------------------
/validator/src/main/java/com/google/daq/mqtt/validator/ErrorCollector.java:
--------------------------------------------------------------------------------
1 | package com.google.daq.mqtt.validator;
2 |
3 | /**
4 | * Simple interface for collecting errors of various kinds.
5 | */
6 | public interface ErrorCollector {
7 |
8 | void addError(Exception error, String category, String detail);
9 | }
10 |
--------------------------------------------------------------------------------
/validator/src/test/configs/localnet.json:
--------------------------------------------------------------------------------
1 | {
2 | "timestamp" : "2020-05-01T13:39:07Z",
3 | "version" : "1.3.14",
4 | "localnet" : {
5 | "families" : {
6 | "virtual" : {
7 | "id" : "0x65"
8 | }
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------